C++实现堆排序代码
程序员文章站
2022-07-08 12:05:50
C++实现堆排序代码
c++代码:
#include
using namespace std;
const int maxn = 10;
int a[maxn]...
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<