📄 heapsort.cpp
字号:
#include<iostream.h>
void heapadjust(int a[],int s,int m)
{
int rc;
rc=a[s];
for (int j=2*s;j<=m;j*=2)
{
if ((j<m)&&(a[j]<a[j+1]))
++j;
if (rc>=a[j]) break;
a[s]=a[j];
s=j;
}
a[s]=rc;
}
void heapsort(int a[],int n)
{
int i;
int temp;
for (i=n/2;i>0;--i)
heapadjust(a,i,n);
/* for (i=1;i<=n;i++)
cout<<a[i]<<endl;*/
for (i=n;i>1;--i)
{
cout<<a[1]<<endl;
temp=a[1];
a[1]=a[i];
heapadjust(a,1,i-1);
}
}
int main() {
int i,n,b[100];
cin>>n;
for(i=1;i<=n;i++)
cin>>b[i];
heapsort(b,n);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -