题解 | #字符串排序# 基于优先队列

字符串排序

https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

#include <functional>
#include <iostream>
#include <queue>
#include <vector>
using namespace std;

int main() {
    int num;
    cin >> num;
    priority_queue<string,vector<string>,greater<string>> se;

    for(int i=0; i<num; i++){
        string tmp;
        cin >> tmp;
        se.push(tmp);
    }
    while(!se.empty()){
        cout << se.top() << endl;
        se.pop();
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

由于题目中没有说明元素一定不重复,所以无法用有序集合的方式进行排序。所有要用“优先队列”这种数据结构。

值得注意的是,对于排序这项功能,C++提供的容器已经实现的很好了。大部分都是考虑找一个合适的数据结构去实现即可。

全部评论

相关推荐

07-14 12:29
门头沟学院 Java
后端岗,实习三周感觉有点想跑路了,担心秋招被拉黑,有没有佬是字节HR知道情况的
从零开始的转码生活:你实习三周都想跑路,将来拿到offer真的愿意在这干十几二十年吗
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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