黑马程序员技术交流社区

标题: Java中掌握两种基本的排序算法 [打印本页]

作者: _Water    时间: 2014-4-2 14:09
标题: Java中掌握两种基本的排序算法
1.选择排序:依次和其后的元素比较,如果大于就换位。
特点:第一趟轮询比较后,最小值就跑到了最前面,第二趟轮询时,第一位就不参与比较了,依次递归。。
public static void selectSort(int[] arr) {  
        for(int x=0; x<arr.length-1; x++) {  
            for(int y=x+1; y<arr.length; y++) {  
                if(arr[x]>arr[y]) {  
                    int temp = arr[x];  
                    arr[x] = arr[y];  
                    arr[y] = temp;  
                }  
            }  
        }  
    }
  
2.冒泡排序:相邻的两个元素进行比较,如果符合条件就换位。
特点:最值先出现在最后位,第二趟轮询比较时,最后位不用参与比较;参与比较的元素数依次递减。
public static void bubbleSort(int[] arr) {  
        for(int x=0; x<arr.length; x++) {  
            for(int y=0; y<arr.length-x-1; y++) {//-x让每次比较的元素减少,-1避免角标越界;  
                if(arr[y]>arr[y+1]) {  
                    int temp = arr[y];  
                    arr[y] =arr[y+1];  
                    arr[y+1] = temp;  
                }  
            }  
        }  
    }  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2