您好,登錄后才能下訂單哦!
什么是棧呢?棧是一種采用“后進先出”策略的數據結構類型。其本質意義也是線性表的一種,不過是一種特殊的線性表。棧頂記做,top,棧底記做,bottom。
棧有一個非常非常重要的一個特點:只允許在棧頂進行數據元素的插入或刪除操作。根據這一特點我們可知,棧基本上只有兩種操作,一是插入操作,另一個是刪除操作。棧的插入操作也稱為:進棧,壓棧,入棧。棧的刪除操作也稱為,出棧,彈棧。英文記做,push(壓棧),pop(彈棧)。“后進先出”策略英文記為,“LIFO”,Last In First Out。
棧的抽象數據類型,摘自書本。如下:
ADT 棧 (stack) Data 同線性表。元素具有相同的類型,相鄰元素具有前驅和后繼關系。 Operation InitStack ( *S ) : 初始化操作,建立一個空棧S。 DestroyStack ( *S ) : 若棧存在,則銷毀它。 ClearStack ( *S ) : 將棧清空。 StackEmpty ( S ) : 若棧為空,返回true,否則返回false。 GetTop ( S, *e ) : 若棧存在且非空,用e返回S的棧頂元素。 Push ( *S, e ) : 若棧S存在,插入新元素e到棧S中并成為棧頂元素。 Pop ( *S, *e ) : 刪除棧s中棧頂元素,并且e返回其值。 StackLength ( S ) : 返回棧S的元素個數 endADT
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。