【数据结构_1015_堆排序】一趟堆排序后的结果

注意,从1开始。


#include 
#include 
#include 
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(ja[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<


你可能感兴趣的:(数据结构)