第四章 棧和佇列
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 鏈棧中插入乙...