排序
Time Limit: 1000ms Memory limit: 32678K 有疑问?点这里^_^
题目描述
给你N(N<=100)个数,请你按照从小到大的顺序输出。
输入
输入数据第一行是一个正整数N,第二行有N个整数。
输出
输出一行,从小到大输出这N个数,中间用空格隔开。
示例输入
51 4 3 2 5
示例输出
1 2 3 4 5
思路:堆实际上是一棵完全二叉树,堆又分为大顶堆和小顶堆,小顶堆满足性质其任何一非叶节点不大于其左右孩子节点的关键字。大顶堆则相反,即任何一非叶节点不小于其左右孩子节点的关键字。利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,每次从无序中选择最大记录(最小记录),到最后即得到有序数组
代码: