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

字符串排序

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-09 18:33
门头沟学院 Java
这么逆天每年都有人去???&nbsp;填多益网申就是大型的服从性测试
鲁大牛:辅导员在群里发了这个公司我就申了一下。网申居然要写当场开摄像头写两篇不少于三百字的作文。太逆天了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-29 20:12
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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