题解 | #排序#

排序

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;
    }
};
全部评论

相关推荐

熬夜冠军🏆:和你情况差不多,你这个HR算敞亮了,直白告诉你了,不浪费你时间,我的那个还跟我说没法说,只能等。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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