堆排序
来源:互联网 发布:破解购物卡数据库 编辑:程序博客网 时间:2024/05/16 08:33
参照算法导论写下来的,有点乱
#include <iostream>#include <fstream>using namespace std;void max(int a[],int i,int m){ int largest,t; int l=2*i; int r=2*i+1; if(l<=m&&a[l]>a[i]) largest=l; else largest=i; if(r<=m&&a[r]>a[largest]) { largest=r; } if(largest!=i) { t=a[i]; a[i]=a[largest]; a[largest]=t; max(a,largest,m); }}void build(int a[],int n){ int m=n; for(int i=(n/2);i>=1;i--) { max(a,i,m); }}void sort(int a[],int n){ int t; int m=n; for(int i=n;i>=2;i--) { t=a[1]; a[1]=a[i]; a[i]=t; --m; max(a,1,m); }}int main (){ int first=1; int a[100]; while(cin>>a[first++]) {} build(a,first-2); sort(a,first-2); for(int i=1;i<first-1;i++) { cout<<a[i]<<' '; } return 0;}
- 堆及堆排序
- 堆/堆排序特点
- 【二叉堆、堆排序】
- 二叉堆 & 堆排序
- 二叉堆 & 堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆和堆排序
- 堆排序(最大堆)
- 堆和堆排序
- 堆和堆排序
- 堆及堆排序
- 堆和堆排序
- 堆与堆排序
- AVR单片机(ATMEGA16)DS1302时钟芯片程序
- 对IE浏览器 本地化存储UserData的一些方法的封装
- Linux动态链接库.so文件的创建与使用
- phoneGap java_js 交互
- 碰到bind错误,主程序异常,调用处理函数退出问题
- 堆排序
- 九度1013 开门人和关门人
- 利用IP安全策略实现防Ping
- 原码, 反码, 补码 详解
- js计算表格的值(例如购物车中)
- 代理(proxy)模式
- Maven环境搭建及Eclipse m2eclipse的安装
- 内核同步机制——顺序锁
- ASIHTTPRequest类库简介和使用说明