P1177快速排序
Posted china-mjr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1177快速排序相关的知识,希望对你有一定的参考价值。
这是一个快速排序的模板题。拿到题后便写了quicksort(确定一个基准数,利用两个哨兵,把大的放右边,小的放左边,再递归实现排序),但是竟然TLE了60pts(???),于是翻看dalao们的题解,发现了堆排序(在清北学会了,但是一个学期后给忘了),然后看到了一个multiset(set去重,它不去),这个STL插入后自动排序,然后利用迭代器进行输出。STL大法好。
1.要养成用标准读入与输出的习惯
2.善于利用STL,平日还要多加积累
3.牢记迭代器语法
伪代码:
multiset<int>a;
scanf("%d",&n);
int x;
for(int i=1;i<=n;i++)
scanf("%d",&x);
a.insert(x);
multiset<int>::iterator it;
for(it=a.begin();it!=a.end();it++)
cout<<*it<<" ";
以上是关于P1177快速排序的主要内容,如果未能解决你的问题,请参考以下文章