首页 > 其他 > 详细

实习之路--点滴积累三

时间:2015-03-27 16:35:35      阅读:184      评论:0      收藏:0      [点我收藏+]

插入排序

原理:

(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 }

实验截图:

技术分享

实习之路--点滴积累三

原文:http://www.cnblogs.com/casparzheng/p/4370280.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!