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

    直接插入排序:把N哥待排序的元素看成一个有序表和一个无序表。起始,有序表中只包含一个元素,无序表中包含N-1个元素,排序过程中每次从无序表中取出第一个元素,将他插入到有序表中的适当位置,使之成为新的有序表,重复N-1次则完成排序。

    图解:

    代码:

     1 void InsertSort( int a[] , int n )
     2 {
     3     int i = 0 , j = 0 , k = 0;
     4     int temp = 0;
     5 
     6     for( i = 1 ; i < n ; i++ )
     7     {
     8         for( j = 0 ; j < i ; j++ )
     9         {
    10             if( a[i] < a[j] )
    11             {
    12                 temp = a[i];
    13                 //移位操作
    14                 for( k = i ; k > j ; k--)
    15                 {
    16                     a[k] = a[k-1];
    17                 }
    18                 a[k] = temp;
    19             }
    20             else
    21                 continue;
    22         }
    23     }
    24 }
  • 相关阅读:
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod
    51Nod --1133 不重叠的线段
    bzoj2440: [中山市选2011]完全平方数
    第三章:基本HTML结构
  • 原文地址:https://www.cnblogs.com/fengshen19951029/p/8618376.html
Copyright © 2011-2022 走看看