实习之路--点滴积累三_插入

插入排序

原理:

(1)“当前元素”将数组分为两部分,左半部分为已经排好序的,右半部分为未排好序的

(2)然后将“当前的元素”插入到左半部分已经排好序的元素中

(3)对数组中的每个元素都执行上述操作,即可得到排序后的数组

 需要注意的是:

(1)是从数组中的第二个数开始排序,一直到最末尾的元素为止

代码如下:

 1 void Insert_Sort(long *p, long n)
 2 {
 3     
 4     for (long i = 1; i < n; i++)
 5     {
 6         long temp = p[i], j = i;
 7         while (j > 0 && temp < p[j - 1])
 8         {
 9             p[j] = p[j - 1];
10             j--;
11         }
12         p[j] = temp;
13     }
14 }

主函数测试代码:

1 int main()
2 {
3     long s[] = { 3, 5, 8, 1, 2, 4, 6, 9, 7, 10 };
4     Insert_Sort(s, 10);
5     for (long i = 0; i < 10; i++) cout << s[i] << ends << ends;
6     return 0;
7 }

实验截图:

posted @ 2015-03-27 14:50  CasparJ  阅读(121)  评论(0编辑  收藏  举报