堆排序
来源:互联网 发布:spss syntax 导入数据 编辑:程序博客网 时间:2024/06/03 18:54
#include<iostream>#include<vector>using namespace std;void AdustDown(vector<int> &arr,int curr,int len) {int child;while(curr * 2 + 1 <= len) {child = curr * 2 + 1;if (child + 1 <= len) {if (arr[child] < arr[child + 1]) {child++;}}if (arr[curr] < arr[child]) {swap(arr[curr],arr[child]);curr = child;}else {break;}}}int main() {vector<int> arr = {5,7,3,2,13,6,2,1,6,9,89,54,234,978,6,454,8789,438,654,4,3213,435,56,456};for (int i = (arr.size()-1) / 2; i >= 0; i--) {AdustDown(arr, i,arr.size()-1);}for (int i = arr.size() - 1; i >= 0; i--) {swap(arr[0], arr[i]);AdustDown(arr, 0, i-1);}for (int i = 0; i < arr.size(); i++) {cout << arr[i] << endl;}return 0;}
阅读全文
0 0
- 堆及堆排序
- 堆/堆排序特点
- 【二叉堆、堆排序】
- 二叉堆 & 堆排序
- 二叉堆 & 堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆与堆排序
- 堆和堆排序
- 堆排序(最大堆)
- 堆和堆排序
- 堆和堆排序
- 堆及堆排序
- 堆和堆排序
- 堆与堆排序
- spark--actions算子--saveAsTextFile
- gcc 优化选项 -O1 -O2 -O3 -Os 优先级
- Application Performance Management(APM)
- MySQL索引设计背后的数据结构及算法详解
- 动归————红牌
- 堆排序
- svn版本控制工具的学习
- IO
- Java网络API(java.net):概览
- spring+mybatis USING PASSWORD YES,这是jdbc.properties的内容错了。
- kafka基础知识
- 欢迎使用CSDN-markdown编辑器
- java基础教程:常用对象之基本数据类型包装类(23)
- Codeforces828 C. String Reconstruction