题解 | #排序#

排序

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

相关推荐

03-27 17:33
门头沟学院 Java
代码飞升:同学院本,你要注意hr当天有没有回复过,早上投,还要打招呼要推销自己,不要一个劲投
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务