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

    1 插入排序使用的方法是增量方法

      首先将已有的数据排好,(玩扑克的时候等待拿牌)

      然后插入新数据,进行排序, (将拿到的牌插入到正确的位置里)

      最后再次形成排好的数据 等待新数据的插入 (再次等待下一轮拿牌)

    2 插入排序的算法复杂度为  n的平方

    3 插入排序属于原地排序算法,在排序数组时只有常数个元素存放到数组以外的空间去

     1 void InsertSort(int array[], int size)
     2 {
     3     for (int i=1; i<size; ++i)
     4     {
     5         int key = array[i];  
     6         int j=i-1;
     7      //进入循环前 数组内 从小到大(下标从0到j)已排好序            
     8         while(j>=0 && array[j]>key)  //当前最大值 大于 新插入的数据(key)的时候
     9         {                
    10             array[j+1] = array[j];  //将该值向右移动一个位置
    11             j--;            //下标指向新的最大值,准备与key再次进行比较
    12         }
    13         array[j+1] = key;
    14     }
    15 }
    16 void main()
    17 {
    18     int Array[10] = {4, 1, 3, 2, 16, 9, 10, 14, 8, 7};
    19 
    20     InsertSort(Array, 10);
    21 
    22     for (int i=0; i<10; ++i)
    23     {
    24         cout << Array[i] << endl;
    25     }
    26 
    27     system("pause");
    28 }
  • 相关阅读:
    云原生技术实践,起步k8s
    线程,同步构造
    线程,限制的异步操作
    DotNet Core管道通信
    打下设计模式
    739--Daily Temperatures
    1021--RemoveOutermostParentheses
    Java并行程序基础。
    155--MinStack
    1047--Remove All Adjacent Duplicates In String
  • 原文地址:https://www.cnblogs.com/sevenPP/p/3608997.html
Copyright © 2011-2022 走看看