【玩转数据结构 从入门到进阶】 栈

package Arr;

public interface Stack<E> {
     
	
	int getSize();   //获取元素个数
	
	boolean isEmpty();  //判断是否为空
	
	void push(E e);   //入栈
	
	E pop();   //出栈
	
    E peek();   //栈顶元素
	
	
}
package Arr;

public class ArrayStack<E>  implements Stack<E>{
   
	 Array<E> array;
	 
	 public ArrayStack(int capacity) {
		 array=new Array<>(capacity);
	 }
     
	 public ArrayStack() {
	    array=new Array<>();	 
	 }

	@Override
	public int getSize() {
		return array.getSize();
	}

	@Override
	public boolean isEmpty() {
		return array.isEmpty();
	}
    public int getCapacity() {
    	return array.getCapacity();
    }
	
	
	@Override
	public void push(E e) {
	    array.addList(e);
	}

	@Override
	public E pop() {
		
		return array.removeLast();
	}

	@Override
	public E peek() {
	
		return array.getLast();
	}
	@Override
    public String toString() {
		StringBuilder res=new StringBuilder();
		res.append("Stack:");
		res.append('[');
		for (int i = 0; i < array.getSize(); i++) {
			res.append(array.get(i));
			if(i!=array.getSize()-1) {
				res.append(",");
			}
			
		}
		res.append("] top");
		return res.toString();
	}
	 
	 
	 
	 
}
package Arr;

public class Main {

	public static void main(String[] args) {
		
		ArrayStack<Integer> stack=new ArrayStack<>();
		
		for (int i = 0; i < 5; i++) {
			stack.push(i);  //入栈
			System.out.println(stack);
			
		}
		stack.pop();  //出栈
		System.out.println(stack);
		 int a=stack.peek();   //查看栈顶元素
		System.out.println(a);
	}
	
}

 

全部评论

相关推荐

抱抱碍事梨a:三点建议,第一点是建议再做一个项目,把自我介绍部分顶了,第二点是中南大学加黑加粗,第三点是建议加v详细交流
点赞 评论 收藏
分享
嵌入式求职之路:可以看我经验😂,https://www.nowcoder.com/share/jump/73221730841876945
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务