📄 heapsort.cpp
字号:
#include <iostream.h>
#include<stdlib.h>
const int num=10001;
void Heapadjust( int heap[], int index, int sum)
{
int heapval=heap[index];
for( int j=2*index; j<=sum ; j*=2 )
{
if( j<sum && heap[j]<heap[j+1] )
++j;
if( heapval>=heap[j] )
break;
heap[index]=heap[j];
index=j;
}
heap[index]=heapval;
}
void Heapsort(int heap[],int sum)
{
for( int i=sum/2; i>0 ; --i )
{
Heapadjust( heap, i, sum );
}
for( i=sum; i>1 ; --i )
{
int temp=heap[1];
heap[1]=heap[i];
heap[i]=temp;
Heapadjust( heap, 1, i-1 );
}
}
void main()
{
int heap[num];
for( int j=1; j<num ; j++)
{
heap[j]=rand();
}
Heapsort( heap, num-1);
for(int k=1; k<num ; k++ )
{
cout<<"NO."<<k<<"---"<<heap[k]<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -