P1177 【模板】快速排序

URL

洛谷

题目描述:

纯的排序题

题目思路:

这道题是个快速排序的模板题,但是让我们来秀一波,我们使用(假的)桶排序+离散化ヾ(✿゚▽゚)ノ

当然,这个离散化我们可以不写哈希,而使用map!(只是常数大)

代码与解释:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<bits/stdc++.h>
using namespace std;
map<int,int> m;//用以离散化的map
map<int,int>::iterator it;//用以遍历map元素
int n,k;
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>k;//输入,并且该位置加一
m[k]++;
}
for(it=m.begin();it!=m.end();it++){
for(int i=0;i<it->second;i++){
cout<<it->first<<' ';//输出该数it->first遍,用(*it).second也可以
}
}
return 0;
}

打个小广告我的博客