题解 | #排序#

排序

http://www.nowcoder.com/questionTerminal/2baf799ea0594abd974d37139de27896

优先队列实现堆排序

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 将给定数组排序
     * @param arr int整型vector 待排序的数组
     * @return int整型vector
     */
    vector<int> MySort(vector<int>& arr) {
        // write code here
      	// 优先队列构建小根堆,从小到大排列数组
        priority_queue<int,vector<int>,greater<int>> q;
        for(int i = 0; i < arr.size(); i++)
        {
            q.push(arr[i]);
        }
        vector<int> result;
      	// 队列不为空就一直出队
        while(!q.empty())
        {
            int tmp = q.top();
            q.pop();
            result.push_back(tmp);
        }
        return result;
    }
};
全部评论

相关推荐

09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
给个offer灞:校友 是不是金die
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务