堆排序_Heap Sort
来源:互联网 发布:scratch趣味编程 ppt 编辑:程序博客网 时间:2024/05/21 02:37
PS:使用模板函数进行编程
子函数的编写
template<class T>void heap_sort(T*array,int length){ int i; buildMaxHeap(array,length-1); for(i=(length-1);i>=1;i--) { swap(&array[0],&array[i]); heapSize--; maxHeapify(array,0); }}template<class T>void buildMaxHeap(T*array,int length){ int i; int heapSize = length; for(i=(length>>1);i>=0;i--) { maxHeapify(array,i); }}template<class T>void maxHeapify(T*array;int index){ int largest = 0; int left = 2*index+1; int right = 2*index+2; if((left<=heapSize)&&(array[left]>array[index])) largest = left; else largest = index; if((right<=heapSize)&&(array[right]>array[largest])) largest = right; if(largest!=index) { swap(&array[index],&array[largest]); maxHeapify(array,largest); }}
测试代码
#include "stdafx.h"#include<iostream>using namespace std;int heapSize =0;int main(){ float a[]={10,1.0,6,2,6.5,3,8,7,9,2}; heap_sort(a,10); for(int i=0;i<10;i++) cout<<a[i]<<endl; return 0;}
运行结果
阅读全文
0 0
- 堆排序_Heap Sort
- 堆排序(Heap Sort)
- 堆排序(Heap Sort)
- 堆排序(Heap Sort)
- 堆排序 (Heap Sort)
- 堆排序(Heap Sort)
- heap sort 堆排序
- hd1425 sort【堆排序】
- 堆排序 Heap Sort
- 堆排序 Heap Sort
- 堆排序 (Heap Sort)
- [Sort]堆排序
- 堆排序Heap sort
- 堆排序 Heap Sort
- 堆排序(Heap Sort)
- 堆排序 Heap Sort
- 堆排序(Heap Sort)
- Heap Sort堆排序
- 内存不足引起的编译(make)错误
- 可能需要在页面中动态创建一个 form
- es6数组去重新方法
- 欢迎使用CSDN-markdown编辑器
- DP-斜率优化初探 之 记录
- 堆排序_Heap Sort
- Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]
- Android【官方教程】NDK 概念
- angular的一些基本常识
- mySc day8
- 概率编程——未来也可以这样预测
- HDU 5973 威佐夫博弈+JAVA高精度
- cron表达式
- 简单的算法问题4——移除数组中重复的元素