国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - java數(shù)據(jù)結(jié)構(gòu)之java實現(xiàn)棧

java數(shù)據(jù)結(jié)構(gòu)之java實現(xiàn)棧

2019-11-15 14:36java教程網(wǎng) JAVA教程

這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)實現(xiàn)棧,需要的朋友可以參考下

代碼如下:

import java.util.Arrays;

 

/**
 * 的實現(xiàn)<br>
 * @author Skip
 * @version 1.0
 */
public class Stack<T> {
 private int size;    //棧中元素的個數(shù)
 private Object[] arr;  //底層數(shù)組
 private final int defaultLength = 200; //默認長度

 /**
  * 無參構(gòu)造,使用默認長度初始化數(shù)組
  */
 public Stack(){
  arr = new Object[defaultLength];
  size = 0;
 }

 /**
  * 使用長度參數(shù)初始化數(shù)組
  * @param length 長度
  */
 public Stack(int length){
  arr = new Object[length];
  size = 0;
 }

 /**
  * 入棧
  * @param element 數(shù)據(jù)
  */
 public void push(T element){
  //是否需要擴容
  if(size >= arr.length){
   //數(shù)組擴容
   extendCapacity(size+1);
  }
  arr[size++] = element;
 }

 /**
  * 出棧
  * @return 數(shù)據(jù)
  */
 @SuppressWarnings("unchecked")
 public T pop(){
  //元素個數(shù)為0,無法執(zhí)行出棧操作
  if(size==0){
   return null;
  }
  T t = (T)arr[size-1];
  arr[--size] = null;  //數(shù)據(jù)已出棧,還原為null
  return t;
 }

 /**
  * 清空棧
  */
 public void clear(){
  for(int i=0;i<size;i++){
   arr[i]=null;
  }
  size = 0;
 }

 /**
  * 獲得當前棧中元素的個數(shù)
  * @return 元素的個數(shù)
  */
 public int getSize(){
  return size;
 }

 /**
  * 判斷是否為空棧
  * @return 空為true,非空為false
  */
 public boolean isEmpty(){
  return size == 0;
 }

 /**
  * 打印棧中所有的元素
  */
 @SuppressWarnings("unchecked")
 public void printStack(){
  for(int i=0;i<size;i++){
   System.out.print(((T)arr[i]).toString());
  }
  System.out.println();
 }

 /**
  * 擴容
  * @param length 需要的長度
  */
 private void extendCapacity(int length){
  //當前數(shù)組長度和需要的長度取最大
  int minCapacity = Math.max(arr.length, length);
  //判斷是否需要擴容
  if(minCapacity - arr.length>0){
   //數(shù)組長度增加一半
   int newLength = arr.length + arr.length/2;
   //如果新的長度還比需求要小,將需求的長度作為數(shù)組長度
   if(newLength < minCapacity){
    newLength=minCapacity;
   }
   //數(shù)組長度不能超過Integer.Max_Value
   if(newLength > Integer.MAX_VALUE - 8){
    newLength = Integer.MAX_VALUE;
   }
   //數(shù)組擴容
   arr = Arrays.copyOf(arr, newLength);
  }
 }
}

 

延伸 · 閱讀

精彩推薦
638
主站蜘蛛池模板: 亚洲精品欧美精品 | 日本免费黄色 | 成人福利在线观看 | 婷婷久久综合 | 免费色视频 | 一区二区三区 在线 | 日韩 欧美 精品 | 欧美一级免费 | 中文字幕在线视频观看 | 成人一区二区在线 | 成人久久久 | 日韩一区二区三区在线 | 亚洲欧美综合 | 国产成人精品a视频一区www | www.日韩.com| 亚洲精品一区二区三区樱花 | 久久66| 一本a道v久大 | 亚洲精品一区二区三区在线观看 | 粉色在线观看 | 亚洲精品视频在线播放 | 亚洲a在线观看 | 一级片av | 综合久久99| 国产精品久久久久久亚洲调教 | 欧美一级一 | 国产毛片18片毛一级特黄日韩a | 国产精品国产三级国产aⅴ原创 | 欧美精品亚洲精品 | 亚洲永久免费 | 欧美一区二区三区久久精品 | 91亚洲免费 | 91精品一区二区 | 久久伊人国产 | 欧美精品v国产精品v日韩精品 | 中文天堂在线观看视频 | 日韩一区二区三区在线视频 | 欧美一级全黄 | 欧美在线观看禁18 | 日韩欧美国产精品综合嫩v 日韩a∨精品日韩在线观看 | 久久精品国产一区二区电影 |