java12 :排序

package day12;
//插入排序
import java.util.Arrays;

public class Demo01 {

	public static void main(String[] args) {
		int i,j,k;
		int[] array = {6,2,5,7,1,3,4,9};
		for (i =1;i<array.length;i++){
			k = array[i];
			for (j=i-1;j>=0 && array[j]>k;j--){
				array[j+1] = array[j];
			}
			array[j+1]=k;
		}
		System.out.println(Arrays.toString(array));
		
	}
}
package day12;
//冒泡排序法
import java.util.Arrays;

public class Demo02 {

	public static void main(String[] args) {
		int[] array = { 6, 2, 5, 7, 1, 3, 4, 9 };
		for (int i = 0; i < array.length - 1; i++) {
			for (int j = 0; j < array.length - i - 1; j++) {
				if (array[j] > array[j + 1]) {
					int t = array[j];
					array[j] = array[j + 1];
					array[j + 1] = t;
				}
			}
		}
		System.out.println(Arrays.toString(array));
	}
}
package day12;
/**
* java的排序和冒泡排序 插入排序的比较
*很粗狂的比较,不要较真
*/
import java.util.Arrays;
import java.util.Random;

public class Demo03 {

	public static void main(String[] args) {
		int[] array = new int[100000];
		Random random = new Random();
		for (int i = 0; i < array.length; i++) {
			array[i] = random.nextInt();
		}
		int[] array1 = Arrays.copyOf(array, array.length);
		int[] array2 = Arrays.copyOf(array, array.length);
		long time1 = System.currentTimeMillis();
		Arrays.sort(array);
		long time2 = System.currentTimeMillis();
		Demo0.sort(array1);
		long time3 = System.currentTimeMillis();
		Demo0.sort1(array2);
		long time4 = System.currentTimeMillis();
		System.out.println(time2 - time1);
		System.out.println(time3 - time2);
		System.out.println(time4 - time3);

	}

	public static void sort(int[] array) {
		for (int i = 0; i < array.length - 1; i++) {
			for (int j = 0; j < array.length - i - 1; j++) {
				if (array[j] > array[j + 1]) {
					int t = array[j];
					array[j] = array[j + 1];
					array[j + 1] = t;
				}
			}
		}
	}

	public static void sort1(int[] array) {
		int i, j, k;
		for (i = 1; i < array.length; i++) {
			k = array[i];
			for (j = i - 1; j >= 0 && array[j] > k; j--) {
				array[j + 1] = array[j];
			}
			array[j + 1] = k;
		}
	}
}


你可能感兴趣的:(排序;冒泡排序,;插入排序;比较)