P1177快速排序

这是一个快速排序的模板题。拿到题后便写了quicksort(确定一个基准数,利用两个哨兵,把大的放右边,小的放左边,再递归实现排序),但是竟然TLE了60pts(???),于是翻看dalao们的题解,发现了堆排序(在清北学会了,但是一个学期后给忘了),然后看到了一个multiset(set去重,它不去),这个STL插入后自动排序,然后利用迭代器进行输出。STL大法好。

1.要养成用标准读入与输出的习惯

2.善于利用STL,平日还要多加积累

3.牢记迭代器语法

代码:

 1 #include<iostream>
 2 #include<set>
 3 #include<cstdio>
 4 #define N 1000005
 5 using namespace std;
 6 
 7 int n;
 8 int main(){
 9     multiset<int>a;
10     scanf("%d",&n); 
11     int x;
12     for(int i=1;i<=n;i++){
13         scanf("%d",&x);
14         a.insert(x);
15     }
16     multiset<int>::iterator it;
17     for(it=a.begin();it!=a.end();it++){
18         cout<<*it<<" ";
19     } 
20     return 0;
21 }

 

转载于:https://www.cnblogs.com/china-mjr/p/11215492.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值