算法导论第八章思考题-c++
来源:互联网 发布:淘宝开了店铺搜索不到 编辑:程序博客网 时间:2024/06/05 13:28
8-2.e 线性时间的原址排序
#include "stdafx.h"#include <stdio.h>#include <iostream>#include <string>#include <math.h>#include <time.h>using namespace std;void sort_WithLinerCost_InOriginPlace(int a[],int n,int k)//所有的元素都属于1到k{int *c = new int[k+1];int *p = new int[k+1];for(int i=0;i<=k;i++){c[i] = 0;p[i] = 0;}for(int i=0;i<n;i++){c[a[i]] ++;p[a[i]] ++;}for(int i=2;i<=k;i++){c[i] += c[i-1];p[i] += p[i-1];}int j = 0;p[0] = -1;while(j<n){//这个元素已经放到了合适的位置 则直接跳过 // 由于a[j] 属于1到k 所以当a[j] == 1的时候 p[a[j]-1] = -1 这个时候必然满足 j>p[a[j]-1]//所以不用再对a[j] =1的时候进行特殊判断if(j>(p[a[j]-1]-1) && j <= (p[a[j]]-1))j++;else{ int temp = a[c[a[j]]-1];a[c[a[j]]-1] = a[j];c[a[j]] --;a[j] = temp;}}}int main(){char s;do{int N = 10;int *a = new int[N];//int a[10]= {1,4,5,6,4,2,7,4,8,4};//int a[10] = { 8 , 8 , 9 , 5 , 9 , 9, 5, 4, 3, 2};srand(time(0));for(int i=0;i<N;i++){a[i] = rand()%N+1;printf("%5d",a[i] );} cout<<endl;long long begin = clock();sort_WithLinerCost_InOriginPlace(a,N,N);long long end = clock();cout<<"time:"<<(end-begin)/(float)CLOCKS_PER_SEC*1000<<"ms"<<endl;for(int i=0;i<N;i++)printf("%5d",a[i] );cout<<endl;cin>>s;}while(s == 'y' || s == 'Y');return 0;}
推荐文章:
http://blog.csdn.net/z84616995z/article/details/18559785
比较全,在这篇文章下面我也添加了一些自己的思路。
不知不觉,已经过了4点,果然深夜容易集中注意力,略感疲乏。终于过上了完全自由的做自己想做的事的日子,习惯并享受独处。没有一种日子是轻松的,但是很充实,我喜欢。晚睡晚起,晚安!
看到的朋友共勉!
0 0
- 算法导论第八章思考题
- 算法导论第八章思考题-c++
- 算法导论 第10章 思考题
- 算法导论十二章思考题12-4
- 算法导论第四章最后思考题
- 算法导论第六章堆排序思考题
- 算法导论第七章最后思考题
- 算法导论第三版第四章思考题
- 算法导论第三版第五章思考题
- 算法导论第三版第六章思考题
- 算法导论第三版第七章思考题
- 《算法导论》第二章-思考题(参考答案)
- 《算法导论》第三章-思考题(参考答案)
- 《算法导论》第四章-思考题(参考答案)
- 《算法导论》第五章-思考题(参考答案)
- 算法导论 思考题 6-3 c,d,e小题
- 《算法导论》系列课后思考题之-第二章《算法入门》
- 算法导论22章基本的图算法 思考题总结
- word2vec 中的数学原理详解
- [LeetCode]230. Kth Smallest Element in a BST
- 腾讯云服务器win2008系统搭建VPN
- LNK2038 RuntimeLibrary 不匹配的解决
- C#中不同格式数据校验的正则表达式
- 算法导论第八章思考题-c++
- 【验证码二】使用验证码
- CC150 3.4 Queue via Stacks
- [项目][准备6] Ajax&Express体验
- 函数的递归调用
- IIS 文件枚举解析漏洞
- 挂马攻击的介绍和防御
- centos 6.6 使用tomcat8部署solr5.5.3
- EasyCamera开源摄像机接入海康威视摄像机PS流转ES流