观《啊哈算法》,积累代码(c++实现)
来源:互联网 发布:免费弄lol网吧特权mac 编辑:程序博客网 时间:2024/05/20 12:47
桶算法之简化版:
//桶排序的算法1#include<iostream>using namespace std;int main(){ int a[11]={},t;//在0~10里定义一个位置 for(int i=1;i<=10;i=i+1) { cin>>t; a[t]++;//输入某个某个数,这个数所对应的位置就+1 } for(int j=0;j<10;j=j+1) for(int k=0;k<a[j];k=k+1) cout<<j<<" ";//按照次序输出,将for语句修改着可以倒叙输出 return 0; }//输入:4 5 2 6 8 3 6 3 1 8//输出:1 2 3 3 4 5 6 6 8 8//这道题的局限在于,比较适合于比较小的数字,对于更大一些的数字,这个算法则不太合理,但是对于小范围却数量极大的数字,则非常奏效。
快速算法(占用空间小,输出快):
//排序算法的改进版本————快速排序c++实现#include<iostream>using namespace std;int a[101];void quicksort(int left,int right);int main(){ int i,n; cin>>n;//输入要排序的数的个数 for(i=1;i<=n;i++) cin>>a[i];//依次输入要排序的数,中间要加空格 quicksort(1,n);//用函数进行快速排序 for(i=1;i<=n;i++) cout<<a[i]<<" "; return 0;}void quicksort(int left,int right){ int i,j,t,temp; if(left>right) return;//确保右边的数字要大于左边的数字,排查错误 temp=a[left]; i=left; j=right; while(i!=j) { while(a[j]>=temp && i<j)//顺序很重要,一定要从j开始玩前移动 j--; while(a[i]<=temp && i<j) i++; if(i<j)//这里实现两者之间的交换 { t=a[i]; a[i]=a[j]; a[j]=t; } }//再把基准数进行交换 a[left]=a[i]; a[i]=temp; quicksort(left,i-1);//递归,左右两边再进行同样的操作 quicksort(i+1,right); return;}//输入:10// 6 1 2 7 9 3 4 5 10 8//输出:1 2 3 4 5 6 7 8 9 10
队列:
//要实现的内容,对于遗传数字:631758924.首先将第一个数删除,紧接着将第二个数放到这串数的末尾,再将第三个数删除并将第四个数放到这串数的末尾。。。直到剩下最后一个数,将最后一个数也删除。按照刚才的顺序,把这些删除的数连在一起#include<iostream>using namespace std;int main(){ int q[101]={6,3,1,7,5,8,9,2,4},head,tail;//初始化队列 head=0; tail=9; while(head<tail) { cout<<q[head];//打印队首并将队首出队 head++; q[tail]=q[head];//先将新对手的数添加到队尾 tail++; head++;//再将队首出列 } return 0;}//输出:615947283//本题用到叫队列的算法!!!
1 0
- 观《啊哈算法》,积累代码(c++实现)
- 【C++】【啊哈!算法】Folyd算法实现
- 【C++】【啊哈!算法】Bellman
- 【C++】【啊哈!算法】Dijkstra算法
- (2)啊哈!算法
- 快速排序(啊哈算法)
- 【C++】【啊哈!算法】第一章——排序
- 啊哈算法java实现 --木桶排序
- 啊哈算法java实现 --冒泡排序
- 《啊哈!算法》
- 《啊哈!算法》
- 啊哈!算法
- 【啊哈!算法】算法8:巧妙的邻接表(数组实现)
- 全排列算法的实现(纠正“啊哈”算法书籍中的错误)
- 【啊哈!算法】算法8:巧妙的邻接表(数组实现逆序模拟链表)
- objective-c 算法积累
- 第二章 啊哈!算法 (向量旋转)
- 第二章 啊哈!算法(变位词)
- 构造函数之显式初始化与赋值
- 正则表达式中的/\\\\/四个反斜杠含义
- php简单模拟后台接口创建类
- BZOJ3926: [Zjoi2015]诸神眷顾的幻想乡 广义后缀自动机
- php中for循环嵌套问题 急,!!!
- 观《啊哈算法》,积累代码(c++实现)
- jetty 初涉——eclipse插件安装
- Struts文件上传
- OkHttpUtils的用法
- 往年总结,新年期望
- 直接拿来用!最火的Android开源项目(完结篇)
- 【mfc】多线程
- HTML 中localstorage 在IOS 下的safari中不起作用,怎么办?
- Win 7下MatConvNet使用DAG网络方法记录