直接插入排序算法

直接插入排序算法

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

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

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

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


 */
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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值