堆排序
来源:互联网 发布:json包含html标签 编辑:程序博客网 时间:2024/06/08 09:20
#include<iostream>using namespace std;void heapify(int a[],int len,int top){//更改堆顶元素后,维持堆的性质while(top < len){int left=2*top+1,right=2*top+2;int largest;if(left < len && a[top]<a[left]){largest=left;}else{largest=top;}if(right < len && a[largest]<a[right]){largest=right;}if(largest==top){break;}else{int tmp=a[largest];a[largest]=a[top];a[top]=tmp;top=largest;}}}void buildHeap(int a[],int len){for(int i=(len-2)/2;i>=0;i--){heapify(a,len,i);}}void heapSort(int a[],int len){buildHeap(a,len);for(int i=len-1;i!=0;i--){//swapint tmp=a[i];a[i]=a[0];a[0]=tmp; //heapifyheapify(a,--len,0);}}int main(){int a[]={23,123,-2,0,98,1,4,6,8,55,-2,};int len=(sizeof(a)/sizeof(*a));heapSort(a,len);for(int i=0;i!=len;i++){cout<<a[i]<<endl;}return 0;}
0 0
- 堆及堆排序
- 堆/堆排序特点
- 【二叉堆、堆排序】
- 二叉堆 & 堆排序
- 二叉堆 & 堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆和堆排序
- 堆排序(最大堆)
- 堆和堆排序
- 堆和堆排序
- 堆及堆排序
- 堆和堆排序
- 堆与堆排序
- Mysql提示you need the SUPER privilege for this operation的解决办法
- TCP实现 文本文件上传
- STL源码解释-----sort()&&partial_sort()
- git的使用
- Connect AS400 through firewall(JDBC will require ports: 449, 8470, 8471, and 8476)
- 堆排序
- POJ1062-我被迫改变自己
- 获取CPU、内存的使用情况
- 使用 PHP 和 Oracle 实施分页结果集
- Nexus S Flash Custom Rom
- 关于未来的方向问题思考
- UINavigationController、UIViewController
- NSIS 学习中
- OC 数组取值方式效率问题