原创

插入排序Java版本

温馨提示:
本文最后更新于 2020年09月13日,已超过 1,315 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

插入排序

算法思想

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

分析

假设我们有一个待排序的数组为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");

    }
}

运行结果

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

正文到此结束
本文目录