首先我們來講講什么是棧,主要是介紹我對棧的了解和認識:棧是一種用于存儲數(shù)據(jù)的表,鮮明的特點是先進后出FILO,棧的實現(xiàn)分為數(shù)組實現(xiàn)和鏈表實現(xiàn)。學(xué)習(xí)??粗袑W(xué)習(xí)棧的思想,通過棧的思想解決一些實際中的問題。Java中有Stack類實現(xiàn)棧的操作。這篇博客主要闡述,棧的基本實現(xiàn),數(shù)組實現(xiàn)和鏈表實現(xiàn)。

一、棧的模型圖

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

入棧的順序為:0、1、2、3、 4、 5、6   出棧的順序為6、5、4、3、2、1、0

二、棧的數(shù)組實現(xiàn)

這個棧的實現(xiàn)是通過數(shù)組實現(xiàn)的,通過動態(tài)的擴充數(shù)組的長度來實現(xiàn)無界棧。

代碼實現(xiàn):

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 1 package Stack; 2  3 public class Stack1 { 4     private int stack[];//用于存儲棧內(nèi)元素的數(shù)組 5     private int DEFAULTSIZE=5;//默認初始化棧的存儲空間 6     private int top;//棧頂指針 7     private int base;//棧底指針 8     private int nowSize;//棧當前的元素個數(shù) 9     private int&nb