栈(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{
int stack[];
int size,pos;
StackOfIntegers(){
size=16;
stack=new int[size];
pos=0;
}
StackOfIntegers(int n){
size=n;
stack=new int[size];
pos=0;
}
void push(int x) {
stack[pos++]=x;
}
int getsize() {
return size;
}
int peek() {
return stack[pos-1];
}
boolean empty() {
return pos==0;
}
int pop() {
return stack[--pos];
}
}