堆排序——C++实现
来源:互联网 发布:redis 查看所有数据库 编辑:程序博客网 时间:2024/06/02 20:41
c++代码:
#include<bits/stdc++.h>using namespace std;void heap_adjust(int a[], int s, int n){ int root=a[s]; for(int i=2*s;i<=n;i*=2){ if(i<n&&a[i]<a[i+1]) i++; if(a[i]<a[s]) break; a[s]=a[i]; s=i; } a[s]=root;}int main() { freopen("F://inp.txt","r",stdin); int n; while(cin>>n){ int a[n+5]; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=n/2;i>0;i--) heap_adjust(a,i,n); for(int i=n;i>1;i--){ a[i]=a[i]^a[1]; a[1]=a[i]^a[1]; a[i]=a[i]^a[1]; for(int j=i/2;j>0;j--) heap_adjust(a,j,i-1); } for(int i=1;i<=n;i++) cout<<a[i]<<" "; cout<<endl; } return 0;}
阅读全文
0 0
- 堆排序——ANSI C实现
- 建堆以及堆排序—C
- 排序——堆排序(C++)
- 堆排序的C实现
- 堆排序C语言实现
- 堆排序C语言实现
- 堆排序C语言实现
- 堆排序C语言实现
- 堆排序--C语言实现
- C语言实现堆排序
- 堆排序(c实现)
- 堆排序--C语言实现
- 堆排序C语言实现
- 堆排序的实现(c++)
- C实现heap堆排序
- c/c++实现堆排序
- 堆排序C语言实现
- C语言实现堆排序
- spring入门级
- 我叫MT外传 v1.4.0 安卓版下载附攻略
- zabbix自动发现url以及对http返回状态码监控实现
- 八大排序算法的 Python 实现
- 文章标题
- 堆排序——C++实现
- Matlab三维曲面griddata插值后交叉验证或提取表面值
- Java国际化
- 移动端 Web 页 input 控制软键盘
- HDU
- Nesterov Momentum 工程实现上的trick
- LCA求法--Tarjan与倍增与RMQ
- 水仙花数——
- 梯度爆炸