zoukankan      html  css  js  c++  java
  • 数据结构——栈的实现(数组、Java)

    巩固数据结构 栈是一种有限制的线性表 只能对表尾进行操作 

    package com.shine.test.datastruct;
    
    import java.util.Arrays;
    
    public class ArrayStack<E> {
    	private E top;
    	private int initSize = 10;
    	private int increment = 10;
    	private int size ;
    	private Object[] array;
    	private int capacity;
    	
    	public ArrayStack() {
    		array = new Object[initSize];
    		capacity = initSize;
    		top = (E)array[0];
    		size = 0;
    	}
    	
    	public boolean isEmpty() {
    		if(size == 0) {
    			return true;
    		}
    		return false;
    	}
    	
    	public void add(E e) {
    		if(size > capacity/2) {
    			capacity = capacity + increment;
    			array = Arrays.copyOf(array, capacity);
    			System.out.println("----"+size);
    		}
    		top = e;
    		array[size] = top;
    		size ++;
    	}
    	
    	public E push() {
    		if(size <= 0) { // 如果数组为空返回null
    			return null;
    		}
    		E temp =	top; // 暂存返回值
    		top = null; 
    		size --;
    		if(size >= 1) {
    			top = (E)array[size-1];
    			return temp;
    		}else {
    			top = null;
    			return temp;
    		}
    		
    	}
    	
    	public E peek() {
    		return top;
    	}
    	
    	public int size() {
    		return size;
    	}
    	
    	public int capacity() {
    		return capacity;
    	}	
    	
    }
    

      

  • 相关阅读:
    ES进阶--01
    JVM--02
    JVM--01
    ES--08
    ES--07
    ES--06
    python实现当前主机ip 主机名称的获取
    djang中的blank=True 和null = True的区别
    python中yield的用法详解
    python 编写古诗赤壁赋
  • 原文地址:https://www.cnblogs.com/lihuiupupup/p/8811142.html
Copyright © 2011-2022 走看看