#include<iostream>
using namespace std;
void siftdown(int a[],int i,int n)//堆调整函数
{
int j,t;t=a[i];
while((j=2*i+1)<n)
{
if(j<n-1&&a[j]<a[j+1])j++;
if(t<a[j]){a[i]=a[j];i=j;}
else break;
}
a[i]=t;
}
void heap_sort(int a[],int n)//堆排序函数
{
int i,t;
for(i=(n-2)/2;i>=0;i--)siftdown(a,i,n);
for(i=n-1;i>0;i--)
{
t=a[0];a[0]=a[i];a[i]=t;
siftdown(a,0,i);
}
}
int main()
{
int i;
int a[9]={46,26,22,68,48,42,36,84,66};//对该数组元素从大到小排序
heap_sort(a,9);
for(i=0;i<9;i++)cout<<a[i]<<' ';
cout<<endl;
return 0;
}
堆排序C++语言实现
5星 · 超过95%的资源 需积分: 9 114 浏览量
2008-09-23
15:48:51
上传
评论
收藏 479B RAR 举报
LHZ593
- 粉丝: 3
- 资源: 18
最新资源
- 基于Matlab人脸肤色定理的教师人数统计+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab霍夫曼变换的表盘读数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab火灾烟雾检测源码带GUI界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的恶劣天气交通标志识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的霍夫曼变换的表盘示数识别+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的车道线识别系统 +源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的教室人数统计系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB的教室人数统计系统带Gui界面+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于MATLAB 的霍夫曼变换答题卡识别源码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab+bp神经网络的神经网络汉字识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈