插入排序Java版本

16 篇文章 3 订阅
6 篇文章 0 订阅

插入排序

算法思想

插入排序是把第一个元素看作是有序的,将剩下的元素看作是未排序的。然后遍历未排序的序列将每个每个元素分别插入到已排序序列的合适位置。

分析

假设我们有一个待排序的数组为arr={3,5,4,1,7,2,9,8},现在我们需要对其进行升序排列,那么我们需要通过for循环遍历未排序序列,让每一个未排序元素都与已排序元素进行比较一遍,然后将其将其插入插入到合适的位置。
第一次插入的结果:3,5,4,1,7,2,9,8
第二次插入的结果:3,4,5,1,7,2,9,8
第三次插入的结果:1,3,4,5,7,2,9,8
第四次插入的结果:1,3,4,5,7,2,9,8
第五次插入的结果:1,2,3,4,5,7,9,8
第六次插入的结果:1,2,3,4,5,7,9,8
第七次插入的结果:1,2,3,4,5,7,8,9

代码

public class InsertSort{

    public static void main(String args[]){

        int[] arr={3,2,4,1,7,5,9,8};
       for(int i=1;i<arr.length;i++)
       {
           int key=i;// 用来控制遍历已排序序列
        int temp=arr[key];//用来临时存放当前进行排序的元素
        while(key>0&&temp<arr[key-1]) 
        {
            arr[key]=arr[key-1];
            key--;

        }
      arr[key]=temp;
       }
       for(int t=0;t<arr.length;t++)
             {
           System.out.print(arr[t]+",");
             }
                 System.out.print("\n");

    }
}

运行结果

如有错误请多多指教,评论区见!转载请标明出处链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小陈没烦恼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值