版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_22830285/article/details/79993295
直接插入算法:
步骤:
一:设置监听岗
二:交换监听岗
三:将数据插入监听岗
//直接插入排序 public static void zjcrpx(){ int[] a={1,2,3,4,5,6,733,10}; //遍历数组,因为第一个a[0]肯定是有序的,所以用a[1]开始排序 for(int i=1;i<a.length;i++){ //建立监控岗,就是一个空位那样子,比如现在要排序a[0],a[1],那么就设定a[1]为监控岗,即a[1]这个位置的值可能会变 int temp=a[i]; //设立监听岗之后,开始跟前面已经排序好的数据逐个对比,。 int j; for(j=i-1;j>0&&a[j]>temp;j--){ //遇到比他大的的数据就监听岗放置, a[i]=a[j]; //交换之后,a[j]就成为了新的监听位、 } //将要排序的数据插入监听位置 a[j]=temp; } for(int j=0;j<a.length;j++){ System.out.print(a[j]+","); } }