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

一、棧的模型圖

iOS培訓(xùn),Swift培訓(xùn),蘋果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

入棧的順序?yàn)椋?、1、2、3、 4、 5、6   出棧的順序?yàn)?、5、4、3、2、1、0

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

這個(gè)棧的實(shí)現(xiàn)是通過(guò)數(shù)組實(shí)現(xiàn)的,通過(guò)動(dòng)態(tài)的擴(kuò)充數(shù)組的長(zhǎng)度來(lái)實(shí)現(xiàn)無(wú)界棧。

代碼實(shí)現(xiàn):

iOS培訓(xùn),Swift培訓(xùn),蘋果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

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