算法导论2-1-1
来源:互联网 发布:springmvc返回json 编辑:程序博客网 时间:2024/05/21 11:31
闲来无事,看了下算法导论,发现还是有写点东西的必要,因为这本书解答不太详细,所以我决定将自己学习的东西贴上来,希望能够共同学习,各位大牛能够多多指教。
下面是算法导论第二章1-1的习题源码,插入排序。
问题描述:
用插入排序说明数组A=<51, 41, 59, 26, 41, 58>排序过程。
#include<iostream>#include<time.h>using namespace std;typedef int Elem;void Show(Elem *A, int n){for (int i = 1; i <= n; i++){cout << A[i] << " ";}cout << endl;}//插入排序voidINSERTION_SORT( Elem *A,int n){int count = 0;//统计经过运行次数Show(A, 6);cout << endl;Elem key;int i = 1, j = 1;//记录时间clock_t start, finish;double totaltime;start = clock();//插入排序算法核心块/************************************************************************************/for ( j = 2; j <= n; j++){key = A[j];i = j - 1;while (i > 0 && A[i] > key){count++;A[i + 1] = A[i];i = i - 1;}A[i + 1] = key;Show(A, j);}/************************************************************************************///完成时间(秒)finish = clock();totaltime = (double)(finish - start) / CLOCKS_PER_SEC;cout << endl <<"插入排序算法的运行次数为:"<< count << endl;cout << "插入排序算法的运行时间(秒)为:" << totaltime << endl << endl;}void main(){Elem A[7] = { 0,51, 41, 59, 26, 41, 58 };INSERTION_SORT(A,6);}
0 0
- 算法导论 2-1
- 算法导论2-1-1
- 算法导论 思考题2-1
- 算法导论2-1-4
- 算法导论 思考题 2-1
- 算法导论 思考题 2-1
- 算法导论 1-1
- 算法导论 Theorem8.1
- 算法导论学习1
- 算法导论15.2-1
- 算法导论16-1
- 算法导论读书笔记1
- 深入浅出《算法导论》1
- 算法导论 1.1-1
- 算法导论 1.2-1
- 算法导论-1
- 算法导论 3.1-1
- 算法导论 3.2-1
- 欢迎使用CSDN-markdown编辑器
- eclipse里,android项目下如何attach source
- C++ STL
- 第八章:在Spark集群上掌握比较重要的图操作之Property Operators(2)
- 使用 cloc 统计代码行数
- 算法导论2-1-1
- day02--常用算法--查找
- Proftpd遇到的坑
- 关于[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]找不到指定文件的解决办法
- 数据库备份
- 美团技术团队 Quartz应用与集群原理分析
- Android中Settings.System的使用(系统全局变量)
- GRE写作必备句型
- 第九章:在Spark集群上掌握比较重要的图操作之Structural Operators