void HeapSort(int a[],int size) { BuildHeap(a,size); for(int i=size-1;i>=0;i--) { swap(a,0,i); down(a,0,i); } } int main() { int n; cin>>n; int a[100]; for(int i=0;i<n;i++) cin>>a[i]; HeapSort(a,n); for(int i=0;i<n;i++) cout<<a[i]<<' '; cout<<endl; return 0; } 两段连起来为什么不对呢,运行错误,给50分,求帮忙看看 /(ㄒoㄒ)/~~
#include<iostream> using namespace std; void swap(int a[],int x,int y) { int t=a[x]; a[x]=a[y]; a[y]=t; } void down(int a[],int i,int n) { int parent=i; int child=2*i+1; while(child<n) { if(a[child]<a[child+1]&&child+1<n) child++; if(a[parent]<a[child]) { swap(a,parent,child); parent=child; } child=child*2+1; } } void BuildHeap(int a[],int size) { for(int i=size/2-1;i>=0;i--) down(a,i,size); }
C语言程序设计教程(第三版)课后习题8.6 (C++代码)不是所有的时候都要按照题目要求才能AC浏览:1355 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:615 |
C语言训练-求函数值 (C语言代码)浏览:931 |
printf基础练习2 (C语言代码)浏览:305 |
C语言训练-大、小写问题 (C语言代码)浏览:724 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1107 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:624 |
【计算两点间的距离】 (C语言代码)浏览:1473 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
演讲大赛评分 (C语言代码)浏览:1629 |