栈(Stack)是一种以“后进先出”的方式存放数据的数据结构。设计实现一个简单的栈来存放整型,完成如下功能:
方法 | 功能 |
---|---|
StackOfIntegers() | 构建一个默认容量为16的空栈 |
StackOfIntegers(capacity: int) | 构建一个指定容量的空栈 |
empty(): boolean | 如果栈为空则返回true |
peek(): int | 返回栈顶的整数而不从栈中删除该数 |
push(value: int): void | 将一个整数存储到栈顶 |
pop(): int | 删除栈顶整数并返回它 |
getSize(): int | 返回栈中元素的个数 |
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:
import java.util.Scanner;
public class Main {
public static void main(String[
Scanner input = new Scanner(System.in);
int l = input.nextInt();
int first = input.nextInt();
input.close();
StackOfIntegers stack1 = new StackOfIntegers();
StackOfIntegers stack = new StackOfIntegers(l);
stack1.push(first);
System.out.println(stack1.getsize() + " " + stack1.peek());
for( int i = 0; i < l; i++)
stack.push(i);
while(!stack.empty())
System.out.print(stack.pop() + " ");
}
}
/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
22
49
输出样例:
在这里给出相应的输出。例如:
16 49
21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
class StackOfIntegers{
private int[] element;
private int top;
public static final int DEFAULT_CAPACITY = 16;
StackOfIntegers(){
this(DEFAULT_CAPACITY);
}
StackOfIntegers(int size){
element = new int[size];
top = 0;
}
public void push(int num) {
element[top++] = num;
}
public int getsize() {
//这里可能有点问题
return element.length;
}
public int peek() {
return element[top - 1];
}
public boolean empty() {
return top == 0;
}
public int pop() {
return element[--top];
}
}