插入排序的C++实现
2015-06-15 23:31
633 查看
直接插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。
这个算法比较简单,不需要过多的解释,代码如下:
以下是测试:
结果如下:
这个算法比较简单,不需要过多的解释,代码如下:
/* * insert the value which is at the index index in data */ void insert_sort(int *data, int index, int value) { int temp_index = index; for(int i = 0;i < index;++i) { //find the first value that bigger than the passed value if(value < data[i]) { temp_index = i; break; } } int temp = index; while(temp > temp_index) //right shift one number from the temp_index data[temp] = data[--temp]; data[temp_index] = value; }
以下是测试:
int main() { // int data[] = {3,2,6,1,30,-3}; int data[] = {5,4,3,2,1,0}; int length = 6; for(int i = 1;i < length;++i) insert_sort(data,i,data[i]); for(int i = 0;i < length;++i) cout << data[i] << " "; cout << endl; return 0; }
结果如下:
相关文章推荐
- 用C++进行函数式编程
- 开始学习C++心得实例(3)
- 【整理】--C++三种参数传递方式
- C++对象模型之默认构造函数的构造操作,拷贝构造函数同
- C++温习-标准库-vector
- 《C++语言基础》程序阅读——二进制文件及文件的随机读写(4)
- C++经典开源库
- C++ Tree类
- 15周《C++语言基础》程序阅读——二进制文件及文件的随机读写(2)(3)
- 浅谈C++多态性
- C语言之ASSERT
- C++温习-标准库-set
- 【C语言】指针是一个变量
- C++中const与指针、引用的分析
- hdu 1033 (bit masking, utilization of switch, '\0' as end of c string)
- C和C++程序员面试秘籍
- C++温习-标准库-map
- Microsoft Visual c++ 各版本之间关系
- c++11 对容器进行排序
- 15周《C++语言基础》程序阅读——二进制文件及文件的随机读写(1)