堆排序练习(手痒)
来源:互联网 发布:类似itools的软件 编辑:程序博客网 时间:2024/06/02 19:43
#include <iostream>using namespace std;void Sift(int r[], int k, int m); //筛选法调整堆void HeapSort(int r[], int n); //堆排序void Swap(int &i,int &j,int &temp); //引用交换int main(){int i;int r[9] = {0,36,30,18,40,32,45,22,50};//r[0]用作交换操作的暂存单位 cout<<"待排序序列:"<<endl;for(i = 1;i < 9;i++)cout<<r[i]<<" ";cout<<endl; HeapSort(r,8);cout<<"排序后的序列(升序):"<<endl;for(i = 1;i < 9;i++)cout<<r[i]<<" ";cout<<endl;return 0;}void Sift(int r[], int k, int m){int i = k;int j = 2*i;while (j <= m){if(j < m && r[j] < r[j+1]) j++; if(r[i] > r[j]) break;else {Swap(r[i],r[j],r[0]);i = j;j = 2 * i;}}}void HeapSort(int r[],int n) //n为元素个数{int i;for(i = n/2; i >= 1; i--)Sift(r,i,n);for(i = 1;i < n; i++){Swap(r[1],r[n-i+1],r[0]);Sift(r,1,n-i);}}void Swap(int &i,int &j,int &temp){temp = i;i = j;j = temp;}
0 0
- 堆排序练习(手痒)
- 编程练习:堆排序
- [每日练习]堆排序
- 堆排序练习代码
- 堆排序的练习
- Kotlin练习-堆排序
- Scala练习-堆排序
- 算法练习二 堆排序
- 堆排序练习:POJ 2388
- 堆排序练习(Heap Sort)
- 练习——堆排序
- 堆(堆排序)
- Java排序算法--建立堆和堆排序(练习)
- 第六章堆排序之“保持堆的性质MAX-HEAPIFY”(迭代版,练习6.2-5)
- p3110 二叉堆练习3--排序
- 排序(堆排序)
- 二叉堆(堆排序)
- 堆排序(最小堆)
- 不能在主文件中用include来包含子文件
- Boost练习4——内存管理之内存池
- cron表达式详解
- RGB/HSV/YUV颜色空间模型总结
- Android 音乐播放器的开发教程(十)通知栏Notification的使用 ----- 小达
- 堆排序练习(手痒)
- 再见2014,你好2015
- 第五章思维导图
- I2C上拉电阻取值问题 fine
- java线程的典例
- VS中“未找到与约束”
- Find Minimum in Rotated Sorted Array
- Android APK反编译详解
- js正则表达式学习1