经典算法与数据结构的c++实现——插入排序
2016-03-16 07:46
615 查看
因为是经典的算法,所以网上描述一大把,直接上个图,直观些,给记性不好的(如我)一点儿提示。
下面是代码(欢迎批评指点,之后应该会放到github上:https://github.com/y277an/princeton_algs4):
下面是代码(欢迎批评指点,之后应该会放到github上:https://github.com/y277an/princeton_algs4):
//---------------------------------Specification of Program------------------------------ // Program Name:插入排序 // Tools:VS_2013 // Language: C++ // Description: 可自由输入,不需要提早知道数据长度 // Date:2016.3.16 // Author:mseddl //---------------------------------------------------------------------------------------- #include <iostream> using namespace std; void InsertionSort(int *arr, int len) { for (int i = 1; i < len; i++) { for (int j = i-1; j >=0; j--) { int value = arr[j+1];//我们要插入的数值 if (value < arr[j]) { arr[j+1] = arr[j]; arr[j] = value; continue; } else break; } } } int main() { int len(0), temp; int *arr = new int[100]; char ch; cout << "请输入要排序的数字,以空格隔开:"; while(1) { cin >> temp; arr[len++] = temp; cin.get(ch); if (ch == '\n') { break; } } InsertionSort(arr, len); cout << "排序后的数字为:"; for (int i = 0; i < len; i++) { cout << arr[i] << " "; } cout << endl; }
相关文章推荐
- LeetCode动态规划198. House Robber思路解析
- 【数据结构与算法】(六) c 语言实现简单的二叉树静态创建及先序、中序、后序遍历
- 数据结构与算法学习(二)(续)
- 数据结构与算法学习(三)
- 数据结构(7)线性表之链表C++实现差集
- 活用 巧用数据结构
- 数据结构(6)线性表之链表C++实现交集
- java数据结构与算法分析之递归
- 数据结构--线性表复习
- 复杂数据结构(二)树
- 数据结构(个人学习)
- 数据结构(2):线性表的链式表示和实现
- 数据结构(1):线性表的顺序表示和实现
- 第三周周赛——基础数据结构结业场(坚持就会有AK,题目出自codeforces 633C,633D,631B,651A,651C以及poj1577)
- Python之数据结构篇
- Tsinghua OJ 数据结构编程作业:祖玛(Zuma)
- 数据结构与算法面试题80道(37)
- 【数据结构与算法】内部排序之三:堆排序(含完整源码)
- java 数据结构
- FFmpeg数据结构