#DS0208. 光头强学数组
光头强学数组
题目描述
传统的数组需要事先指定其长度,而在图论中,有相当一部分题目无法预知每个数组所需的长度,因此需要使用长度可变的数组。
我们可以运用数据结构中顺序表的知识,自己设计一个变长数组。
实际上作为典型的数据结构,在 C++
中可以直接使用 vector
,而在 Java
中可以直接使用 ArrayList
。
本题目要求为,给你 次操作,针对每次操作,输出相应的结果。可能的操作如下:
push x y
,将数字y
压入到数组x
的最后,并输出数组x
中的数据个数。show x
,将数组x
的数据依次输出。如果数组x
没有数据,输出null
。clear x
,输出数组x
的数据个数,并将数组x
的数据清空。
建议你用两种方式(自己实现和调库)分别通过此题。
输入格式
第一行读入 ,表示操作数。
后面 行每行给出一个操作,具体格式和含义见题目描述部分。
输出格式
根据每条指令输出相应的结果。
5
push 1 3
push 1 2
push 1 1
show 1
push 5 8
1
2
3
3 2 1
1
5
show 100
push 1000 666
push 100000 888
clear 1000
clear 1000
null
1
1
1
0
数据规模
对于所有数据,保证 ,,。
题目保证输出的数字个数不超过 。
提示
本题输出较多,Java 可以学习使用 PrintWriter 进行输出。
创建一个输出对象: PrintWriter pw = new PrintWriter(System.out);
输出结果: pw.println pw.print pw.printf 用法与 System.out.print 系列一致。
清空缓冲区: 程序结束前,执行 pw.close() 或者 pw.flush() 即可。(注意,不清空缓冲区可能导致没有输出)