zoukankan      html  css  js  c++  java
  • 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 }
    待到oi十一月,我花开后百花杀。
  • 相关阅读:
    线性地址物理地址逻辑地址转换mmu
    C/c++ 宏返回值
    树的子结构
    合并两个排序的链表
    链表中倒数第k个结点
    数值的整数次方
    原码、反码与补码
    二进制中1的个数
    矩形覆盖
    变态跳台阶
  • 原文地址:https://www.cnblogs.com/china-mjr/p/11215492.html
Copyright © 2011-2022 走看看