數(shù)據結構中的棧與隊列還是經常使用的,棧與隊列其實就是線性表的一種應用。因為線性隊列分為順序存儲和鏈式存儲,所以棧可以分為鏈棧和順序棧,隊列也可分為順序隊列和鏈隊列。本篇博客其實就是《數(shù)據結構之線性表的順序存儲于鏈式存儲(Swift面向對象版)》這篇博客的應用。本篇博客會分別給出隊列的順序和鏈式存儲,以及棧的順序和鏈式存儲。

說到棧和隊列這兩種數(shù)據結構,理解起來應該不難。隊列就是進行排隊的數(shù)據結構,一個隊列肯定是線性結構了,之所以稱之為隊列,是因為有著先入先出(FIFO ----first in first out)的特性。就像你去銀行辦業(yè)務排隊時,你先排的隊當然是你先辦理業(yè)務,那些后排隊的要在你后邊辦業(yè)務。而棧就與隊列相反了,具有先入后出(FILO -- first in last out)的特性。在現(xiàn)實生活中手槍的子彈夾就是棧的結構,最先進去的子彈會最后才射出。當然在我們做iOS開發(fā)時,會經常使用到導航棧,而導航棧中存儲的就是你之前Push進的頁面,也是先入后出的特性。關于棧和隊列,下方會給出詳細的介紹。

 

一、棧與隊列的綜述

棧與隊列毫無疑問都是線性結構的,分別適用于不同的場景。博客的本部分會給出棧與隊列的總體介紹,然后分別給出其實現(xiàn)方案。當然下方在棧與隊列的實現(xiàn)中,我們依然采用“面向接口

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網站設計培訓,網站建設培訓學習是年輕人改變自己的最好方式