数据结构-06 栈Stack

1、代码模拟

package org.gzw.ch03;


public class MyStack {
	//底层实现一个数组
	private long[] arr;
	private int top;
	
	/*无参构造*/
	public MyStack() {
		arr = new long[10];
		top = -1;
	}
	
	/*有参构造*/
	public MyStack(int maxsize){
		arr = new long[maxsize];
		top = -1;
	}
	
	/*添加数据*/
	public void push(long value){
		arr[++top] = value;
	}
	
	/*移除数据*/
	public long pop(){
		return arr[top--];
	}
	
	/*查看数据*/
	public long peek(){
		return arr[top];
	}
	
	/*判断是否为空*/
	public boolean isEmpty(){
		return top == -1;
	}
	
	/*判断是否满了*/
	public boolean isFull(){
		return top == arr.length-1;
	}
	
}

2、测试

package org.gzw.ch03;

public class TestMyStack {

	public static void main(String[] args) {
		MyStack myStack = new MyStack(5);
		myStack.push(99);
		myStack.push(3);
		myStack.push(-23);
		myStack.push(1);
		myStack.push(76);
		
		//
		System.out.println(myStack.isEmpty());
		System.out.println(myStack.isFull());
		System.out.print(myStack.peek() + ", ");
		System.out.println(myStack.peek());
		
		while(!myStack.isEmpty()){
			System.out.print(myStack.pop() + ", ");
		}
		System.out.println();
		System.out.println(myStack.isEmpty());
		System.out.println(myStack.isFull());
	}

}

3、运行结果

false
true
76, 76
76, 1, -23, 3, 99, 
true
false



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值