【数据结构_1015_堆排序】一趟堆排序后的结果
2017-05-13 19:47
369 查看
注意,从1开始。
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int n; void dui(int k,int a[]) { int i=k,j=i*2; int item=a[i]; while(j<=n) { if(j<n && a[j]>a[j+1]) { j++; } if(item>a[j]) { a[i]=a[j]; i=j; j=i*2; } else break; } a[i]=item; } int main() { int i,a[1005]; cin>>n; for(i=1;i<=n;i++) cin>>a[i]; for(i=n/2;i>=1;i--) dui(i,a); for(i=1;i<=n;i++) cout<<a[i]<<" "; return 0; }
相关文章推荐
- 数据结构-排序-堆排序
- 我---对‘数据结构’中‘排序’的理解 ---------3:选择排序--(二)堆排序
- 数据结构学习笔记 --- 排序(选择排序、堆排序)
- 数据结构_内部排序_希尔排序_快速排序_堆排序_归并排序_地址排序
- C语言基本数据结构之五(折半插入,堆排序,冒泡排序,快速排序,并归排序)
- 数据结构--各种排序的实现(排序小结 希尔排序 快排 堆排序 归并排序)
- 数据结构例程——选择排序之堆排序
- 数据结构排序问题---堆排序及各种排序时间空间复杂度
- 【数据结构】排序番外篇 堆,堆排序与其前身选择排序
- 数据结构试验-快速排序-堆排序
- 算法和数据结构---排序---堆排序
- 堆排序--数据结构排序1
- 数据结构-排序算法详解(插入排序,希尔排序,堆排序,归并排序,快速排序,桶式排序)
- 【数据结构】将一组数据升序排序(利用堆排序)
- 【数据结构练习】排序——堆排序和快排
- 数据结构学习笔记 --- 排序(选择排序、堆排序)
- c++实现数据结构中的各种排序方法:直接插入、选择,归并、冒泡、快速、堆排序、shell排序
- 数据结构--排序之堆排序
- 数据结构学习笔记5-寻找最小的k个数(选择排序和堆排序)
- 【数据结构】常用比较排序算法(包括:选择排序,堆排序,冒泡排序,选择排序,快速排序,归并排序)