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快速排序的主要内容,如果未能解决你的问题,请参考以下文章

P1177 模板快速排序

洛谷 P1177 模板快速排序

P1177快速排序

题解 P1177 模板快速排序

P1177 模板快速排序

洛谷P1177快速排序