溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

棧的基本概念

發(fā)布時(shí)間:2020-07-19 13:18:04 來源:網(wǎng)絡(luò) 閱讀:425 作者:BarnabyRoss 欄目:編程語言

   什么是棧呢?棧是一種采用“后進(jìn)先出”策略的數(shù)據(jù)結(jié)構(gòu)類型。其本質(zhì)意義也是線性表的一種,不過是一種特殊的線性表。棧頂記做,top,棧底記做,bottom。

   棧有一個(gè)非常非常重要的一個(gè)特點(diǎn):只允許在棧頂進(jìn)行數(shù)據(jù)元素的插入或刪除操作。根據(jù)這一特點(diǎn)我們可知,?;旧现挥袃煞N操作,一是插入操作,另一個(gè)是刪除操作。棧的插入操作也稱為:進(jìn)棧,壓棧,入棧。棧的刪除操作也稱為,出棧,彈棧。英文記做,push(壓棧),pop(彈棧)。“后進(jìn)先出”策略英文記為,“LIFO”,Last In First Out。

   棧的抽象數(shù)據(jù)類型,摘自書本。如下:

ADT 棧 (stack)
Data
    同線性表。元素具有相同的類型,相鄰元素具有前驅(qū)和后繼關(guān)系。
Operation
    InitStack ( *S )       : 初始化操作,建立一個(gè)空棧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的元素個(gè)數(shù)
    
endADT


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI