索引:
参看代码 GitHub:
代码简要分析说明:
1.for(int i=1;i<nSize;i++)
这个外层的for循环, [0][1],[1][2],[2][3]... 这样的顺序让内层循坏开始索引递减比较,保证每对开头
的内层循坏排序前,前面的都是排序好的
2.while (tmp<ary[n]) ... n-- ...
这个内层的while循环,使外层的每对开头的循环开始,若比较后大小为真,则换位, n-- 保证了 第 n+1 位也就是 i 索引对应
的值始终可以排到正确的位置
3.运行环境
Visual C++ 2008 IDE 环境, 建议实际跑一下并调试一下,结果如下:
4.代码:
1 #include2 3 using namespace std; 4 5 // 定义函数 -- 插入排序算法 6 void Sort(int* ary,int nSize) 7 { 8 /* 9 * 循环元素,动态理解:10 * arr[1] 与 arr[0] 比较11 * arr[2] 与 arr[1],arr[0] 比较12 * arr[3] 与 arr[2],arr[1],arr[0] 比较13 * 等等 依次类推14 */15 for(int i=1;i
蒙
2018-06-12 21:50 周二