6-22 设计一个栈类 (10分)

栈(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;
	}
	
}
``
这个题很多描述不太准确,但是不必深究,懂出题人的意思即可。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值