冒泡排序、选择排序、插入排序

public class Demo5 {

	public static void main(String[] args) {
		
		int a[]={10,20,88,9,30,50,31,19};
		/*Demo5.sort2(a);*/
		for (int i : a) {
			System.out.print(i+",");
		}
		System.out.println();
		
		Demo5.sort4(a);
		
		for (int j : a) {
			System.out.print(j+",");
		}
			
			
	}
	//冒泡排序1
	public static  void sort(int a[]){
		int temp=0;
		for(int i=0;i<a.length-1;i++){
			for(int j=0;j<a.length-i-1;j++){
				if(a[j+1]<a[j]){
					temp=a[j+1];
					a[j+1]=a[j];
					a[j]=temp;
				}
			}
		}
	}
	//冒泡排序2
	public static void sort2(int a[]){
		int temp=0;		
		for(int i=0;i<a.length-1;i++){
			int flag=0;
			for(int j=0;j<a.length-1;j++){
				if(a[j+1]<a[j]){
					temp=a[j+1];
					a[j+1]=a[j];
					a[j]=temp;
					
					flag=1;
				}
			}
			if(flag==0){break;}
		}
	}
	
	//选择排序
	public static void sort3(int a[]){
		int temp=0;
		for(int i=0;i<a.length-1;i++){
			int minIndex=i;
			for(int j=i+1;j<a.length;j++){
				if(a[minIndex]>a[j]){
					minIndex=j;
				}
			}
			if(minIndex!=i){
				temp=a[minIndex];
				a[minIndex]=a[i];
				a[i]=temp;
			}
		}
	}
	//插入排序
	public static void sort4(int a[]){
		for (int i = 1; i < a.length; i++)
        {
            if (a[i - 1] > a[i])
            {
                int temp = a[i];
                int j = i;
                while (j > 0 && a[j - 1] > temp)
                {
                    a[j] = a[j - 1];
                    j--;
                }
                a[j] = temp;
            }
        }
	}

}

  

posted @ 2019-05-08 20:42  luojack  阅读(145)  评论(0编辑  收藏  举报