易错知识点:
1.sort函数的一般没有声明第三部分没有生命cmp函数的话是从小到大排序,声明cmp之后,他会按照对应的cmp规则进行排序比如
int cmp(int x, int t)
{
return x > y;
}
就是按照从大到小的允许排列
2.排序区间,sort函数一般是(start, end, cmp)类似这样的使用方法,st,ed是排序区间,但是他这个区间是左闭右开的,
比如sort(a + 2, a + 6)的话就是从a的第三个元素开始,排序到a的第6个元素,也就是从a[2]排序到a[5]! ! !
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 10010;
int a[N];
int cmp(int x, int y)
{
return x > y;
}
int main()
{
int n, m;
cin >> n >> m;
for(int i = 0; i < n; i ++ )
a[i] = i + 1;
while(m --)
{
int q, p;
cin >> p >> q;
if(p == 0)
sort(a, a + q, cmp);
else
sort(a + q - 1, a + n);
}
for(int i = 0; i < n; i ++)cout << a[i] << ' ';
return 0;
}