C++堆(数据结构堆也就是树状结构)排序
2018-03-11 15:54
197 查看
#include<iostream> using namespace std; int arr[10] = { 2,8,3,9,1,4,6,7,0,5 }; void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } void show(int *arr,int n) { for (size_t i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; } void heapsort(int *arr, int n) { for (size_t i = n; i >0; i--) { for (size_t j = i-1; j > 0; j--) { int childen = j; int father = j / 2; if (j<i-1&&arr[j]<arr[j+1]) { childen++; } if (arr[childen]>arr[father]) { swap(arr[childen], arr[father]); } } swap(arr[0], arr[i - 1]); } } int main(int argc, char *argv[]) { heapsort(arr, 10); show(arr,10); system("pause"); }
相关文章推荐
- 数据结构之交换排序之快速排序(参考整理严蔚敏数据结构)
- 数据结构系列(5)树状结构
- js List<Map> 将偏平化的数组转为树状结构并排序
- 数据结构之插入排序之希尔排序(缩小增量排序)—参考整理严蔚敏数据结构
- Java实现简单数据结构之二叉树结构排序 binary tree
- java图解数据结构--树状结构
- 关于idea的目录结构如何变成树状,也就是横向变纵向
- List数据按照树状结构(tree)进行排序
- 深层次两张图解经典6大排序与6大基础数据结构——学完这些,妈妈再也不用担心我的排序算法与数据结构,学习笔记大放送
- 数据结构JAVA-----对像排序
- 数据结构06之树形结构
- 数据结构 - 逻辑结构和存储结构
- 【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
- 谦虚的向大家问个技术问题,树型结构的排序问题
- java将树状结构数据通过map分级(一种思路)
- 常用数据结构--线性结构
- 另外一个table排序,这个更简单了,不用改变现在的表格结构
- 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)
- (模板题)sdut 3403 数据结构实验之排序六:希尔排序(希尔排序)
- 数据结构(二)排序总结