真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

棧的順序存儲(chǔ)結(jié)構(gòu)及及其實(shí)現(xiàn)

   由于棧是線性結(jié)構(gòu)的一種,所以,棧也可以通過(guò)順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了銅川免費(fèi)建站歡迎大家使用!

   因?yàn)椋€性表的順序存儲(chǔ)結(jié)構(gòu)是通過(guò)數(shù)組實(shí)現(xiàn)的,所以,棧的順序存儲(chǔ)結(jié)構(gòu)也通過(guò)數(shù)組實(shí)現(xiàn)。不可避免的,要設(shè)置棧的最大存儲(chǔ)空間。因?yàn)椋瑮V辉试S在棧頂進(jìn)行元素的插入與刪除操作,所以需要一個(gè)指向棧頂?shù)淖兞縯op。那么棧的存儲(chǔ)結(jié)構(gòu):

typedef int SElemType;

typedef struct{

    SElemType data[MAXSIZE];
    int top;
}SqStack;

接著,就是插入一個(gè)新的元素e,也就是進(jìn)棧操作push。向棧頂插入一個(gè)元素,首先要判斷棧的存儲(chǔ)空間是否充足,如果以已經(jīng)沒(méi)有存儲(chǔ)空間了,則入棧失敗。代碼如下:

Status Push ( SqStack *S, SElemType e )
{
    if ( S->top == MAXSIZE - 1 )
        return ERROR;
    
    S->top++;
    S->data[S->top] = e;

}

如果要?jiǎng)h除一個(gè)操作,首先要判斷棧是否為空,如果不為空,則刪除有效,若為空,則刪除失敗。接著,只要top--就行了。代碼如下:

Status Pop ( SqStack *S, SElemType *e )
{
    if ( S->top == -1 )
    return ERROR;
    
    *e = S->data[S->top];
    S->top--;

    return OK;
}

   因?yàn)闆](méi)有涉及到循環(huán),所以,時(shí)間復(fù)雜度均為O(1)。


本文名稱:棧的順序存儲(chǔ)結(jié)構(gòu)及及其實(shí)現(xiàn)
文章路徑:http://weahome.cn/article/jpjsos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部