資料結構第三章棧和佇列

2021-08-16 16:27:56 字數 1305 閱讀 2724

第四章 棧和佇列

1.棧:限定僅在表尾進行插入或刪除操作的線性表,表尾端稱為棧頂,表頭端稱為棧底。棧頂移動,棧底固定。特點:先進後出、後進先出

typedef struct

sqstack;

status

push(sqstack &s,selemtype e)

status

pop(sqstack &s,selemtype &e)

2.兩棧共享空間

typedef struct

sqdoublestack;

status

push(sqdoublestack &s,selemtype e,int snum)

status

pop(sqdoublestack &s,selemtype &e,int snum)

else

return ok;

}

3.棧的鏈式儲存結構

棧空條件:s.top==null

typedef struct stacknode

stacknode,*linkstackptr;

typedef struct linkstack

linkstack;

status

push(linkstack &s,selemtype e)

status

pop(linkstack &s,selemtype &e)

4.佇列:佇列是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。先進先出 允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。

5.迴圈佇列

typedef struct

sqqueue;

status initqueue(sqqueue &q)

status push(sqqueue &q,qelemtype e)

}status pop(sqqueue &q,qelemtype &e)

}int queuelength(sqqueue q)

6.鏈棧

typedef struct qnode

qnode,*qlink;

typedef struct

linkqueue;

status enqueue(linkqueue &q,int e)

status dequeue(linkqueue &q,int &e)

資料結構 第三章 棧和佇列

目錄 3.1 堆疊的基本概念 3.2 堆疊的順序儲存結構 一 構造原理 二 實現 三.多棧共享連續空間問題 3.3 堆疊的鏈式儲存結構 一.構造原理 二 實現 3.4 佇列的基本概念 3.5佇列的順序儲存結構 一.構造原理 二 實現 三.迴圈佇列 3.5 佇列的鏈式儲存結構 一.構造原理 二 實現 ...

資料結構 第三章 棧和佇列

3.1特殊的線性表 棧 3.2特殊的線性表 佇列 3.1特殊的線性表 棧 3.1.1棧的邏輯結構 棧 限定僅在表尾進行插入和刪除操作的線性表。空棧 不含任何資料元素的棧。允許插入和刪除的一端稱為棧頂,另一端稱為棧底。棧的操作特性 後進先出。3.1.2棧的順序儲存結構及實現 順序棧類 順序棧類的宣告 ...

資料結構 第三章棧和佇列

棧中允許插入和刪除的一端為棧頂 top 另一段為棧底botton 遵循後進先出的原則 棧的抽象資料型別描述 clear置空 isempty判棧空 peek取棧 push入棧 pop出棧 順序棧及其基本操作的實現 top為0時為空 top stackelem.length 棧的長度top 鏈棧中插入乙...