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$ 是`