Easy - STL-vector
给定一个初始为空的动态数组,执行下面几种操作n次:
1 x :表示在数组的末尾添加数字x x(1 ≤ x ≤ 100)。
2 :表示将数组从小到大排序(保证此时数组不为空)。
3 :表示将数组翻转(保证此时数组不为空)。
4 :输出数组中数字的个数。
5 :按顺序输出数组中所有的元素(保证此时数组不为空)。
6 :把数组清空。
Input
第一行,一个整数n(1 ≤ n ≤ 20),表示操作的次数。
第2到n+1行,表示每一种操作。
Output
每次操作如果需要输出则输出一行数字。
Sample 1
Inputcopy | Outputcopy |
---|---|
10 1 28 1 12 1 17 5 2 5 3 5 6 4 |
28 12 17 12 17 28 28 17 12 0 |
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int n;
cin >>n;
vector<int> arr;
for (int i = 0; i < n; i++)
{
int a;
cin >>a;
if (a==1)
{
int b;
cin >> b;
arr.push_back(b);
}
else if (a==2)
{
sort(arr.begin(),arr.end());
}
else if (a==3)
{
reverse(arr.begin(),arr.end());
}
else if (a==4)
{
cout <<arr.size()<<endl;
}
else if (a==5)
{
for (int j=0;j<arr.size();j++)
{
cout <<arr[j]<<" ";
}
cout <<endl;
}
else if (a==6)
{
arr.clear();
}
}
}