zoukankan      html  css  js  c++  java
  • 《Java数据结构与算法》笔记CH41栈的实现

    class StackX{
    	private int maxSize;
    	private long[] stackArray;
    	private int top;
    	public StackX(int size){
    		maxSize = size;
    		stackArray = new long[maxSize];
    		top = -1;//初始化栈顶指针为-1,表示栈中无元素
    	}
    	@Override
    	public String toString() {
    		StringBuilder sb = new StringBuilder();
    		sb.append("********"+System.getProperty("line.separator"));
    		for(int i=0;i<top+1;i++){
    			sb.append(stackArray[top - i]+System.getProperty("line.separator"));
    		}
    		sb.append("********");
    		return sb.toString();
    	}
    	public void display(){
    		System.out.println(toString());
    	}
    	/**
    	 * 把value压入栈中
    	 * @param value
    	 */
    	public void push(long value){
    		
    		stackArray[++top] = value;
    	}
    	
    	/**
    	 * 栈顶元素出栈
    	 * @return
    	 */
    	public long pop(){
    		return stackArray[top--];
    	}
    	/**
    	 * 查看栈顶元素,但是不出栈
    	 * @return
    	 */
    	public long peek(){
    		return stackArray[top];
    	}
    	/**
    	 * 栈是否为空
    	 * @return 如果为空返回true;否则返回false 
    	 */
    	public boolean isEmpty(){
    		return (top==-1);
    	}
    	/**
    	 * 栈是否满
    	 * @return 如果满返回true;否则返回false
    	 */
    	public boolean isFull(){
    		return (top == maxSize);
    	}
    }
    public class StackXDemo {
    	public static void main(String[] args) {
    		StackX s = new StackX(5);
    		s.push(12);
    		s.push(32);
    		s.push(98);
    		s.display();
    		while(!s.isEmpty()){
    			System.out.println(s.pop()+"出栈");
    			System.out.println("现在栈中元素为:");
    			s.display();
    		}
    	}
    }

  • 相关阅读:
    hive数据仓库入门到实战及面试
    clickhouse入门到实战及面试
    透过源码看懂Flink核心框架的执行流程
    hive经典练习题
    flink批处理从0到1学习
    flink基础篇
    flink进阶篇
    flink源码阅读
    spark优化总结
    uni-app跨平台移动应用开发
  • 原文地址:https://www.cnblogs.com/fstack/p/5617263.html
Copyright © 2011-2022 走看看