算法导论第三版 练手程序C++(第二章)(1)
2014-11-16 20:40
197 查看
实在闲的蛋疼,大神们不要喷我~
第二章
插入排序
伪代码:INSERTION-SORT(A) for j = 2 to A.length key = A[j] // Insert A[j] into the sorted sequence A[1..j-1]. i = j-1 while i>0 and A[i]>key A[i+1] = A[i] i = i-1 A[i+1] = key
对应C++
#include <stdlib.h> #include <time.h> #include <iostream> #define PAI_LENGTH 10000 using namespace std; void insertion_sort(int A[],int length) { int key=0,i=0; for (int j=1;j<length;j++) { key = A[j]; i = j-1; while(i>-1&&A[i]>key) { A[i+1] = A[i]; i = i-1; } A[i+1] = key; } } void printAll(int A[],int length) { for(int i=0;i<length;i++) { cout<<A[i]<<endl; } } int main() { clock_t start,end; /***生成随机数组,本例中有10000个数***/ int raw[PAI_LENGTH]; srand((unsigned)time(NULL)); for(int i=0;i<PAI_LENGTH;i++) { raw[i] = rand()%10000+1; } start = clock();//开始计时 insertion_sort(raw,PAI_LENGTH);//排序 end = clock();//停止计时 cout<<"use"<<(end-start)<<"us"<<endl; return 0; }
最后结果是:
use 83643 us
即插入排序法在我的计算机上排序10000个随机数需要8万us=80ms=0.08s
相关文章推荐
- 算法导论第三版 练手程序C++(第二章)(2)
- C++练手小程序 整数幂的计算
- 算法导论第三版第二章第三节习题答案
- 第二章 从一个最简短的C++程序讲起
- C++程序设计(第二版)谭浩强----程序题课后习题答案第二章
- Effective C++:改善程序技术与设计思维的55个有效做法(第三版)(中文版)(预订)Effective C++ 3RD
- 算法导论(第三版) 第二章思考题
- 算法导论(第三版) 第二章练习题
- 算法导论第三版第二章思考题答案
- 算法导论第三版 第二章 2.3-7
- C_PlusPlus学习笔记 - 4_C++程序结构 (C++语言程序设计【第三版】 郑莉等,清华大学出版社)
- C++对象模型——程序转化语意学(第二章)
- 小程序练手(c++)
- 算法导论第三版第二章第二节习题答案
- 第二章 做一个简短的C++程序
- 算法导论第二章C++实现归并算法排序
- 算法导论中LCS的C++实现程序
- 算法导论第二章mergesort的C++ 实现
- 数据结构与算法分析(C++第三版)第二章问题总结
- 算法导论第12章-搜索二叉树伪代码的C++程序全实现