栈(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 top=0,rear=0;
int a[];
StackOfIntegers(){
top=0;
rear=0;
a=new int[16];
}
StackOfIntegers(int i){
top=0;
rear=0;
a=new int[i];
}
public void push(int c) {
this.a[top]=c;
this.top=this.top+1;
}
public int getsize() {
return this.a.length;
}
public int peek() {
if(this.empty()!=true)
return (a[top-1]);
else
return 0;
}
public boolean empty() {
if(top==rear)
return true;
else
return false;
}
public int pop() {
if(this.empty()!=true)
{int g=a[top-1];
a[top-1]=0;
top=top-1;
return g;}
else
return 0;
}
}
``
这个题很多描述不太准确,但是不必深究,懂出题人的意思即可。