C#順序棧和連式棧概述
在向大家詳細(xì)介紹C#順序棧和C#連式棧之前,首先讓大家了解下線性聚集基礎(chǔ),然后全面介紹C#順序棧和C#連式棧。
線性聚集基礎(chǔ)
在數(shù)據(jù)結(jié)構(gòu)層次中***層次的抽象是一個(gè)聚集,在這個(gè)聚集分為兩個(gè)大類;***類是線性聚集;另一種是非線性聚集。
線性聚集可以根據(jù)其命名知道是按照一種線性次序進(jìn)行排序的。在線性聚集中又根據(jù)存取不同分為:廣義索引、直接存取和順序存取三類。廣義索引包括字典和散列表;直接存儲(chǔ)包括有數(shù)組、文件以及記錄;順序存取包括:表、棧、隊(duì)列和優(yōu)先隊(duì)列。非線性隊(duì)列可以層次聚集和群聚集來分,其中層次聚集中包括數(shù)和堆;群聚集中包括集合和圖.
C#順序棧和連式棧
棧是一種最長(zhǎng)常使用和最重要的數(shù)據(jù)結(jié)構(gòu),棧通常在用于處理語(yǔ)法識(shí)別、表達(dá)計(jì)算等方面。棧是在上面提到過的過的順序表中的一種,這種順序表特點(diǎn)是后進(jìn)先出(Last In First Out)。
棧主要兩種典型的抽象數(shù)據(jù)類型:C#順序棧和C#連式棧。
通常我們都將對(duì)于采用數(shù)組存儲(chǔ)的棧方式稱做C#順序棧,下面我通過C#語(yǔ)言給大家寫一個(gè)簡(jiǎn)單的C#順序棧。
對(duì)于另外一種使用鏈表做存儲(chǔ)的棧,我們將其稱做C#連式棧。同樣我們通過一個(gè)程序?qū)崿F(xiàn)一個(gè)C#連式棧。
隊(duì)列和棧都是屬于線性表,隊(duì)列和棧在本質(zhì)上的區(qū)別是在存取方式上面的,隊(duì)列使用的是先進(jìn)先出(First In First Out)的方式實(shí)現(xiàn)數(shù)據(jù)的存取。通常運(yùn)用在多消息處理上面,按照隊(duì)列的順序處理。
本文重點(diǎn)講述了數(shù)據(jù)結(jié)構(gòu)中線性表的棧和隊(duì)列,并且通過C#代碼去實(shí)現(xiàn)一些實(shí)例。
【編輯推薦】