经典基础排序之直接排序,选择排序,冒泡排序.

直接排序:
Collection.sort(lista,new Comparator<Person>() { });
Arrays.sort(arraya,new Comparator<Integer>() { });)
选择排序:
--数组
public static void main(String[] args) {
        int arr[]={23,12,46,24,87,65,18,14,43,434,65,76};
        //int arr[]={23,12,46,24,76};
        //选择排序
        int l=0;
        for(int i=0;i<arr.length-1;i++){
        for(int j=i+1;j<arr.length-1;j++){
        if(arr[i]<arr[j]){
        int t=arr[i];
        arr[i]=arr[j];
        arr[j]=t;
        l++;
        }
        System.out.print("i="+i+"的第j="+j+"次交换\t");
        for(int d=0;d<arr.length;d++){
        System.out.print(arr[d]+"\t");
        }
        System.out.println();
        }
        }
        for(int i=0;i<arr.length;i++){
        System.out.print(arr[i]+"\t");
        }
        System.out.println("交换的次数为"+l);
        }
冒泡排序:
--集合
public List<Students> demo(){
        List<Students> list = new ArrayList<Students>();
        for (int i = 0; i < list .size(); i++)    {  
            for (int j = list .size()-1; j > i; j--)  {  
                String no= list .get(j).getStudentNo();
                String no_1= list .get(j-1).getStudentNo();
                if (no.compareTo(no_1)>0)    {  
                      //互换位置
                     Student  stu = list.get(j);
                     list.set(j, list.get(j-1));
                     list.set(j-1, stu );
                }  
            }  
        } 
        return list
--数组
public static void test1(Integer[] arr){
        int len =arr.length;
        int temp;
        for(int j=0;j<len-1;j++){
        for(int i=0;i<len-1;i++){
            if(arr[i]>arr[i+1]){
                temp = arr[i];
                arr[i] =arr[i+1];
                arr[i+1] = temp;
            }
        }
        System.out.println(Arrays.toString(arr));
        }    
    }

猜你喜欢

转载自blog.csdn.net/qq_41582642/article/details/84139366