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();
    		}
    	}
    }

  • 相关阅读:
    Python运算符
    Python中的变量
    Chapter 4. Working with Key/Value Pairs
    Chapter 3. Programming with RDDs
    python常见的特异点
    18.天知道练习
    17.vue+axios搭配使用
    16.axios基本使用
    15.记事本练习
    14.v-model指令
  • 原文地址:https://www.cnblogs.com/fstack/p/5617263.html
Copyright © 2011-2022 走看看