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; } } }
本文出自 “浪漫的偷笑” 博客,请务必保留此出处http://lmdtx.blog.51cto.com/6942028/1699823
原文:http://lmdtx.blog.51cto.com/6942028/1699823