当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++实现堆排序代码

C++实现堆排序代码

2017年12月23日  | 移动技术网IT编程  | 我要评论

流动比率和速动比率,cz3096航班,排列三预测 一休彩票1xcp

C++实现堆排序代码

c++代码:

#include 
using namespace std;

const int maxn = 10;
int a[maxn];

void heap_adjust(int a[], int k, int n){
    int tmp=a[k];
    for(int i=k*2; i<=n; i*=2){
        if(ia[k]))break;
        a[k]=a[i];
        k=i;
    }
    a[k]=tmp;
}

int main(){
    //freopen("F://inp.txt","r",stdin);
    int n;
    while(cin>>n){
        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--){
            int tmp=a[1];
            a[1]=a[i];
            a[i]=tmp;

            heap_adjust(a,1,i-1);
        }   
        for(int i=1; i<=n; i++) cout<

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网