首页 > 代码库 > 插入排序

插入排序

插入排序是指维护一个有序序列,每次从无序序列中选择一个元素,将其插在有序序列的合适位置,形成一个新的有序序列,知道无序序列为空。

代码如下:

 1 void sort(int *p, int n)
 2 {   
 3      int temp;
 4      for(int i = 0; i < n; i++)
 5          {
 6          temp = p[i];
 7          for(int j = i-1; j >=0; j--)
 8              {
 9               if(temp < p[j])
10                  p[j+1] = p[j];
11              else
12                  {
13                  p[j+1] = temp;
14                  break;    
15                  }                  
16              }
17          }
18 }

同样的,插入排序也为两层循环,时间复杂度为O(n^2);

插入排序