堆排序的实现(递归)
来源:互联网 发布:淘宝开店加盟靠谱吗 编辑:程序博客网 时间:2024/05/19 00:42
代码:
Dfs(i);
#include<stdio.h>
int ar[120],n;
void init(){
int i;
for(i=1;i<=n;i++)
scanf("%d",&ar[i]);
}
void output(){
int i;
for(i=1;i<=n;i++)
printf("%d ",ar[i]);
printf("\n");
}
void Dfs(int x){//建堆
int t;
if(2*x<=n){
Dfs(2*x);
}
if(2*x+1<=n){
Dfs(2*x+1);
}
if(2*x<=n)
if(ar[x]<ar[2*x]){t=ar[x];ar[x]=ar[2*x];ar[2*x]=t;}
if(2*x+1<=n)
if(ar[x]<ar[2*x+1]){t=ar[x];ar[x]=ar[2*x+1];ar[2*x+1]=t;}
}
void make(){
int i;
for(i=1;i<=n;i++)
}
int main(){
while(scanf("%d",&n)!=EOF){
init();
make();
output();
}
return 0;
}
- 堆排序的实现(递归)
- Java递归实现的堆排序
- 堆排序的非递归实现
- 堆排序的递归实现以及非递归实现
- 堆排序的递归和非递归实现(C++版)
- 非递归实现堆排序
- 快速排序、冒泡排序、堆排序、shell排序的递归和非递归实现
- 堆与堆排序--递归与非递归java实现
- 三大面试排序的归并以及递归实现--快速排序、归并排序、堆排序
- 大顶堆第二弹----堆排序(递归实现)
- 堆排序的实现
- 堆排序的实现
- 堆排序的实现
- 堆排序的实现
- 堆排序的实现
- 堆排序的实现
- 堆排序的实现
- 堆排序的实现
- USACO Milking Cows
- USACO Calf Flac
- 剖析我的五子棋
- hdu 1501 Zipper
- 优先队列的使用
- 堆排序的实现(递归)
- hdu 1063 Exponentiation
- 感悟
- java版 字典树
- hdu 1584 蜘蛛牌
- 2012年04月11日的日记
- hdu 1710 Binary Tree Traversals
- Poj 2886 Who Gets the Most Candi…
- 【原创】 线段树学习总结