public class ChapeterTwoFundermentOfArgorithm { public static void main(String[] args) { int a[]={5,2,4,6,1,3}; Insertsort aInsertsort=new Insertsort(); aInsertsort.insertsort(a); } } //插入排序 的Java实现 对一个数组实现排序/ 其主要思路是,将左边视为左右派,将右边视为乱序牌,依次从右边拿 //入牌,然后按照顺序插入左边的牌中。 //分成两堆,确定key值,key值决定左右两堆, // key+1就是要取得数,拿到左边 与0到key-1间数比较。然后插入 class Insertsort { void insertsort(int[] args) { for (int j = 1; j < args.length; j++) { int i = j - 1; int key=args[j]; // 后面一个大于前面一个就交换次序 while(i>=0&&args > key) { int a0=args[i+1]; args[i + 1] = args; // args=a0; i--; args[i+1]=key; } System.out.print("循环一次后的值:"); for(int c:args) System.out.print(" "+c); System.out.println(); } } //这个排序算法的优点是,时间复杂度是n2 .这个算法的效率比冒泡排序要高。
|