数组排序

1. 选择法排序

  把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 ,比较完后,第一位就是最小的,然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个位置来 ,比较完后,第二位就是第二小的.

  

public class SelectSort {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a[] = new int[]{18,62,68,82,65,9};
		for(int i=0;i<a.length;i++){
			System.out.print(a[i]+" ");
		}
		System.out.println();
		for(int j=0; j<a.length-1;j++){
			for(int i=j+1;i<a.length;i++){
				if(a[i]<a[j]){
					int temp = a[j];
					a[j] = a[i];
					a[i] = temp;
				}
			}
		}
		for(int i=0;i<a.length;i++){
			System.out.print(a[i]+" ");
		}
		System.out.println();
	}

}

  

2. 冒泡法排序

  第一步:从第一位开始,把相邻两位进行比较 ,如果发现前面的比后面的大,就把大的数据交换在后面,循环比较完毕后,最后一位就是最大的,第二步: 再来一次,只不过不用比较最后一位。

  

public class BubbleSort {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a[] = new int[]{18,62,68,82,65,9};
		for(int i=0;i<a.length;i++){
			System.out.print(a[i]+" ");
		}
		System.out.println();
		for(int j=0;j<a.length;j++){
			for(int i=0;i<a.length-j-1;i++){
				if(a[i]>a[i+1]){
					int temp=a[i];
					a[i] = a[i+1];
					a[i+1] = temp;
				}
			}
		}
		for(int i=0;i<a.length;i++){
			System.out.print(a[i]+" ");
		}
		System.out.println();
	}

}

  

原文地址:https://www.cnblogs.com/homle/p/10646257.html