首页 > 代码库 > 数组(二)

数组(二)

一:数组排序

 选择排序

public class ArrayPaixuDemo {
    public static void main(String[] args) {
        int []arr={3,1,6,8};
        
        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;
                    //把角标0的值给第三方
                    temp=arr[x];
                    //把角标1的值给角标0
                    arr[x]=arr[y];
                    //把第三方给角标1
                    arr[y]=temp;
                    
                }
            }
        }
        for(int x=0;x<arr.length;x++)
        System.out.print("["+arr[x]+"]");
    }

}

冒泡排序

 相邻两个元素进行比较,

   第一次换位,如果符合条件换位,小的往左移动

   第二次换位,最后一个数不用参加

 以此类推...

 总共比较a.length-1次

public class BubbleDemo {
    public static void main(String[] args) {
        int arr[]={3,1,6,9};
        for(int x=0;x<arr.length-1;x++){
            for(int y=0;y<arr.length-x-1;y++){
                //y+1会出现越界,把length-x变成length-x-1
                if(arr[y]>arr[y+1]){
                    int temp=arr[y];
                    arr[y]=arr[x];
                    arr[x]=temp;
                }
            }
            
        }
        for(int x=0;x<arr.length;x++)
            System.out.print("["+arr[x]+"]");
    }

}

 

  

 

数组(二)