堆排序
来源:互联网 发布:js 隐藏a标签 编辑:程序博客网 时间:2024/05/17 23:29
// 14.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#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;
}
- 堆及堆排序
- 堆/堆排序特点
- 【二叉堆、堆排序】
- 二叉堆 & 堆排序
- 二叉堆 & 堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆和堆排序
- 堆排序(最大堆)
- 堆和堆排序
- 堆和堆排序
- 堆及堆排序
- 堆和堆排序
- 堆与堆排序
- sql exists和in两种写法 any,all的使用
- glassfish连接池的配置
- 开源框架:快速反射类库(Fast Reflection Library)
- JAVA之路
- Unix编程常见问题解答
- 堆排序
- Sql server 2005安装完毕后,程序菜单中只有配置工具
- 查询取n到m行
- VC中操作excel表格
- Java Applet 编程和实例
- 个人所得税的税率
- 最简单有效的思路实现各类表格打印(包括票据)
- Linux系统环境下的Socket编程详细解析
- 可变参数的原理(转)