博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
堆排序
阅读量:4678 次
发布时间:2019-06-09

本文共 1086 字,大约阅读时间需要 3 分钟。

/* *//* 知识点:   */#include 
#include
#include
#include
#include
#include
using namespace std;#define MAXN 1005class heap_sort {private: public: void Swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; } void max_heapify(int *A , int i, int len){ int l = 2 * i; int r = 2 * i + 1; int largest; if (l <= len && A[i] < A[l]){ largest = l; } else{ largest = i; } if (r <= len && A[largest] < A[r]) largest = r; if (largest != i){ Swap(A[largest], A[i]); max_heapify(A,largest,len); } } void build_heap(int *A ,int len){ for (int i = len/2; i >= 1; i--){ max_heapify(A, i, len); } } void heapsort(int *A,int len){ build_heap(A, len); for ( int i=len; i>=2; i--){ Swap(A[i], A[1]); len = len -1; max_heapify(A, 1, len); } }};int main(int argc, const char * argv[]) { int arr[15]; for(int i = 0; i <= 10; i++) cin >> arr[i]; heap_sort ans; ans.heapsort(arr, 10); for(int i = 1; i <= 10; i++) cout << arr[i] << " "; cout << endl; return 0;}

 

转载于:https://www.cnblogs.com/WH-K/p/7764461.html

你可能感兴趣的文章
强引用,弱引用,4种Java引用浅解(涉及jvm垃圾回收)
查看>>
多线程如何确定线程数
查看>>
UGUI RectTransform
查看>>
学前班
查看>>
手把手教您扩展虚拟内存
查看>>
android-samples-mvp
查看>>
oracle 11g r2安装
查看>>
关于自关联1
查看>>
存储控制器、MMU、flash控制器介绍
查看>>
hdu-1814(2-sat)
查看>>
自我反省
查看>>
反射,得到Type引用的三种方式
查看>>
pl sql练习(2)
查看>>
Problem B: 判断回文字符串
查看>>
谷歌浏览器,添加默认搜索引擎的搜索地址
查看>>
数据结构化与保存
查看>>
C# .net 获取程序运行的路径的几种方法
查看>>
为什么需要Docker?
查看>>
国内5家云服务厂商 HTTPS 安全性测试横向对比
查看>>
how to control project
查看>>