非递增堆排序:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
using namespace std;
int size,m;
int a[1000005];
void Downlowd(int*pa,int pos,int size){int p=pos,c=2*p+1;int temp=pa[pos];while(c<size){if(c+1<size&&pa[c+1]>pa[c]){c++;}if(temp>=pa[c]){break;}else{pa[p]=pa[c];p=c;c=2*p+1;}}pa[p]=temp;
}
void Buildheap(int*pa,int size){for(int i=size/2-1;i>=0;i--){Downlowd(pa,i,size);}
}
void SortHeap(int*pa,int n){int temp;Buildheap(pa,n);for(int i=n-1;i>=0;i--){temp=pa[0];pa[0]=pa[i];pa[i]=temp;Downlowd(pa,0,i);}
}
int main(){cin>>size>>m;m=min(size,m);size=max(size,m);for(int i=0;i<size;i++){cin>>a[i];}SortHeap(a,size);for(int i=size-1;i>size-m;i--){cout<<a[i]<<" ";}cout<<a[size-m]<<endl;return 0;
}

PTA数据结构与算法题目集(中文)7-38相关推荐

  1. PTA数据结构与算法题目集6-4 6-3 6-8

    PTA数据结构与算法题目集(中文) 6-4 链式表的按序号查找 ElementType FindKth( List L, int K ){int index = 0;while(L){++index; ...

  2. PTA数据结构与算法题目集 6-9 二叉树的遍历

    PTA数据结构与算法题目集(中文) 6-9 二叉树的遍历 void InorderTraversal( BinTree BT ){if(BT==NULL)return;if(BT->Left){ ...

  3. PTA 数据结构与算法题目集(中文)

    一:数据结构与算法题目(中文版) 7-2 一元多项式的乘法与加法运算 (20 分) 7-3 树的同构 (25 分) 7-4 是否同一棵二叉搜索树 (25 分) 7-6 列出连通集 (25 分)(详解) ...

  4. PTA 数据结构与算法题目集(中文) 7-10 公路村村通 (30分) 最小生成树(kruskal算法)

    我的GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes <一个浙江大学本科生的计算机.地理信息科学知识库 > 还有不少 ...

  5. 浙大PTA数据结构与算法题目集(中文)题解集复习用

    文章目录 7-1 最大子列和问题 (20分)(dp或贪心) 7-2 一元多项式的乘法与加法运算 (20分) 7-3 树的同构 (25分) 7-4 是否同一棵二叉搜索树 (25分) 7-5 堆中的路径 ...

  6. PTA数据结构与算法题目集(中文)7-25

    题意:找出M个俱乐部中最大朋友圈数量,朋友的朋友也朋友,所以可以采用并查集写此算法. 开始自己把题目理解错了,最后看了大神的写法终于明白了. #include <iostream> #in ...

  7. PTA数据结构与算法题目集(中文) 函数题 (1)

    4-1 单链表逆转 code: List Reverse(List head) {if(NULL==head|| NULL==head->Next)return head;List p;List ...

  8. PTA数据结构与算法题目集(中文)7-36

    Floyd算法求解: #include<stdio.h> #include<stdlib.h> #include<math.h> #define max 50005 ...

  9. PTA数据结构与算法题目集(中文)7-18

    题意:有两个窗口A,B,题目给出A窗口处理完两个顾客,B窗口处理完一个顾客,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出.我们可以给出两个队列q1,q2分别表示A,B窗口,编号为奇数的顾客存 ...

  10. PTA数据结构与算法题目集(中文)7-45

    map的应用: #include <cstdio> #include <cstring> #include <algorithm> #include <ios ...

最新文章

  1. 微服务架构崛起 能否成为下一代云计算?
  2. 字符串缓冲区太小怎么解决_epoll的两种模式 ET和LT printf的缓冲区问题 边缘非阻塞模式...
  3. 聊聊前端日志库在 SaaS 产品中的应用与设计
  4. 重磅!2021 高通人工智能应用创新大赛今日开赛
  5. 解决sockjs.js?9be2:1609 GET http://192.168.1.1:8080/sockjs-node/info?t=1634257459…… 中的报错
  6. html5创建对象的方法,JavaScript面向对象-使用工厂方法和构造函数方法创建对象...
  7. 基于SpringBoot+mybatis+layui就业管理系统设计和实现
  8. 计算机生物模拟试题,2017年高考理综生物部分模拟试题
  9. 使用gc、objgraph干掉python内存泄露与循环引用!
  10. 算法----其他排序
  11. 聚合直播,直播接口的使用
  12. C#会员管理系统源码 会员消费管理系统源码
  13. dhclient命令 – 动态获取或释放IP地址
  14. jquery自定义插件_创建一个自定义jQuery插件
  15. 数据分析必备43个Excel函数
  16. 行列式与矩阵的初等变换总结
  17. python 循环十次_python机器学习——十次交叉验证训练的数据准备算法
  18. 其实也有缺点,比如一个很短的词恰恰在结尾,也会被截断
  19. 计算10光年是多少米java_1光年是多少米,9.46×10^15米(最快的火箭需飞108000年)...
  20. 安装配置Tomcat(CentOS7)

热门文章

  1. Python创建目录文件夹
  2. 25个常用Matplotlib图的Python代码,收藏收藏!
  3. 视频程式化的基于帧差异的时间损失
  4. 基于K-Means聚类算法的主颜色提取
  5. 链表问题15——将搜索二叉树转换成双向链表
  6. labview 随笔记录
  7. spring cloud的网关服务Zuul
  8. vector int string 化
  9. 分布式服务框架-原理与实践:14---流量控制-学习笔记(理论篇)
  10. 从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一)