黑马程序员技术交流社区
标题: 插入排序的Java实现,代码非伪! [打印本页]
作者: a775999665 时间: 2017-11-21 17:35
标题: 插入排序的Java实现,代码非伪!
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 .这个算法的效率比冒泡排序要高。
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |