U271614 AA的难题1.0
题目背景
众所周知,**STL库**是 C++ 学子们的(~~偷懒~~)刷题神器,里面有许多黑科技,特别好用,赞一个!
------------
但是AA电脑编译器的 C++ 版本太老,没法流畅使用 STL 库中的各种黑科技 [AA在哭泣ing。。。]
题目描述
为此,他找到了你,想让你编写一个简易小容器,拥有与vector一样的操作功能和函数。
**数组元素都是`int`类型,输入的下标从0开始!!!**
### **《容器函数功能及格式如下》:**
- **1.访问下标**,用`at`函数:`at i`,输出容器所在下标的值,越界输出`-1`。
- **2.获取长度**,`size`函数:`size`,输出现在的长度(即元素个数)。
- **3.插入元素**,`insert`函数,在下标`i`的前面插入元素`a`:`insert i a`。
- **4.删除元素**,`erase`函数,删除下标为`i`的元素:`erase i`。
- **5.查找元素**,`find`函数,查找元素`x`是否存在与数组中,找到输出下标,没有输出`-1`:`find x`。
- **6.反转容器**,`reverse`函数将容器元素反转放置:`reverse`。
- **7.容器排序**,`sort`函数按照排序规则`x`排序,`x`为``从大到小。排序时我们的排序范围是所有元素(包括初始化为 $0$ 的):`sort x`。
- **8.清空容器**,`clear`函数,将容器内所有元素变为 $0$ :`clear`。
- **9.销毁机制**,`destroy`函数,直接毁灭数组,并结束程序,输出`The vector has been destroyed!`。
(详见样例)
输入格式
- 第 $1$ 行输入一个正整数 $N$ 和正整数 $M$ 。
- $N$ 表示函数指令的条数, $M$ `表示要创建的容器长度。
- 第 $2 \sim N+1$ 行输入函数操作指令和可能的附带条件,用空格隔开,一行一条指令。
输出格式
先按照指令输入顺序输出有返回值的函数返回值,一行一个。
最后一行完整的输出数组(每个元素默认为 $0$ ,不存在数组为空),用空格隔开。
说明/提示
**数据范围**:
$ 1 \leq N \leq 10,1 \leq M \leq 100$ ,数据保证给出的指令一定是合法的。
------------
**样例解释**
样例1:先创建一个长度为 $13$ 的动态数组容器,此时元素全部为 $0$ ;然后获取`size`,由于此时没有元素,所以输出 $0$ ;接下来在下标 $0$ 前面插入 $4$ ,由于数组内之前没有元素,所以 $4$ 直接插入;获取下标为 $0$ 的元素,应该输出 $4$ ;接下来插入 $90$ ,位置是下标 $0$ 之前,此时容器内元素如下 `90 4`;最后从小到大排序(因为 $x$ 是`