zoukankan      html  css  js  c++  java
  • 直接插入排序

    思路:

    从第二个元素开始遍历,若当前元素小于前一个元素执行排序,将当前元素作为标准数,从标准数的前一个元素位置开始向前遍历并且要求遍历的元素大于标准数时,遍历元素向后移,最后当遍历元素不满足大于标准数时,将标准数赋给不满足的元素。

    package DataStruct.Sort;
    
    import java.util.Arrays;
    
    public class InsertionSort {
        public static void main(String[] args) {
            int arr[]=new int[]{4,2,5,7,1,0,7,8,11,34};
            insertionSort(arr);
            System.out.println(Arrays.toString(arr));
        }
        public  static void insertionSort(int [] arr)
        {
            //从数组的第二个元素开始遍历
           for(int i=1;i<arr.length;i++)
           {
               //当数组的前一个元素大于当前所在元素时
               if (arr[i]<arr[i-1])
               {
                   //将数组当前元素作为标准数
                   int temp=arr[i];
                   int j;
                   //从标准数的前一个元素开始向前遍历,如果向前遍历的元素大于标准数,将向前遍历的元素后移
                   for (j=i-1;j>=0&&temp<arr[j];j--)
                       arr[j+1]=arr[j];
                   //将标准数赋给向前遍历时第一次遇到的小于或等于标准数的元素。
                   arr[j+1]=temp;
               }
           }
        }
    }

  • 相关阅读:
    OI 复赛注意事项整理
    U138415 堆箱子 | 扩展欧几里得 扩欧
    扩欧-扩展欧几里得 | 数论学习笔记
    U138097 小鱼吃大鱼 埃氏筛
    牛客1029A 袜子分配
    U137971 公司搬迁
    初赛知识点整理
    SQL注入技术
    写出易于调试的SQL
    dos命令大全
  • 原文地址:https://www.cnblogs.com/dloading/p/10750420.html
Copyright © 2011-2022 走看看