算法导论第二章_插入排序_读书笔记
2011-02-11 16:32
204 查看
#include <iostream> void InsertSort(int* a, int n) { int key; // j赋值为1因为是从第二个元素开始插入排序 // j<n因为n代表着待排序的数组元素的个数,n-1为最后一个元素 for (int j=1; j<n; j++) { key=a[j]; // 等待插入的元素为a[j] int i=j-1; // a[0...j-1]为已经有序的部分,a[j+1...n-1]为还没有排序的部分 // 我们首先要比较的是a[j]与a[j-1] while ((i>=0) && (a[i]>key)) { a[i+1]=a[i]; // 所有比a[j]大的元素后移一位 i--; } a[i+1]=key; // 将a[j]放到正确的位置上去 } } int main() { int a[6] = { 5, 2, 4, 6, 1, 3 }; InsertSort(a, 6); for (int i=0; i<6; i++) { std::cout << a[i] << std::endl; } return 0; }
相关文章推荐
- 《算法导论》读书笔记--第二章 2.1 插入排序
- 算法导论第二章《插入排序》
- 算法导论 第二章 例子与习题代码 插入排序 归并排序
- 算法导论第二章2.1插入排序
- 算法导论第二章_合并算法_读书笔记
- 《算法导论》第二章----插入排序(伪代码实现、课后习题(递归版本、二分查找策略版本))
- 《算法导论》读书笔记--第二章 2.2 分析算法
- 算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序
- 《算法导论》读书笔记--第二章 2.3 设计算法
- 《算法导论》读书笔记(一)——插入排序与循环不变式
- 算法导论实验:第二章插入排序 P10
- 《学会提问》读书笔记——第二章
- 算法导论第二章-归并排序
- 《Spring实战》读书笔记 - 第二章 装配Bean - 1
- The C programming language --第二章 类型、运算符与表达式 读书笔记
- 读书笔记_GDI+程序设计_第二章(绘图表面)
- 深度探索C++对象模型 第二章 读书笔记
- [Effective Java 读书笔记] 第二章 创建和销毁对象 第一条
- 《Visual C# 从入门到精通》第二章方法和作用域——读书笔记
- 《谈判力》读书笔记:第二章 把人和事分开