6-6 设计一个栈类 (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{
	
	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];
	}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值