直接插入排序算法

来源:互联网 发布:对淘宝客服的理解 编辑:程序博客网 时间:2024/06/13 11:11

直接插入排序算法

(从后向前找到合适位置后插入)

基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到

合适位置后),直到全部插入排序完为止。

/**
 * 直接插入排序算法
(从后向前找到合适位置后插入)
基本思想:将第一个数定义为基数,每步将一个待排序的记录,然后与其后面的一个数进行比较;把小的数抽出来,
按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到
合适位置后),然后又将这个数与后面的数进行比较直到全部插入排序完为止。


 */
public class Day301 {
public static void main(String[] args) {
int[] num = {2,10,5,22,1};
for(int i=1;i<num.length;i++){  // 比较的轮数(长度减一),
//当前要操作的数
int temp = num[i]; //作为每次要插入的数
int j=0;
for(j=i-1;j>=0;j--){  //从一开始,因为要往前比,所以要>=0
if(num[j]>temp){   //如果要比的那个数后边的比前边的数大,那么就将他们交换
num[j+1] = num[j];
}else{
break;
}
}
num[j+1]=temp;

}
for(int i=0;i<num.length;i++){
System.out.print(num[i]+" ");
}
}
}

0 0