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的元素個數。
中綴轉化為字尾,棧用來進出運算的符號
字尾轉化為中綴,棧用來進出運算的數字
adt 佇列(queue)data
同線性表。元素具有相同的型別,相鄰元素具有前驅和後繼關係。
operation
initqueue(*q):初始化操作,建立乙個空佇列q。
destroyqueue(*q):若佇列q存在,則銷毀它。
clearqueue(*q):將佇列 q 清空。
queueempty(q):若佇列q為空,送回true,否則退回false。
gethead(q, *e):若佇列q存在且非空,用e返因佇列q的隊頭元素。
enqueue(*q,e):若佇列q存在,插入新元素e到佇列q中並成為隊尾元素。
dequeue(*q, *e):刪除佇列q中隊頭元素,並用e返回其值。
queuelength(q):送回佇列q的元素個教。
辦法二
大話資料結構(四) 棧和佇列
棧 一種線性表,限定只能在表尾進行插入和刪除的操作。這裡的表尾指的是棧頂,lifo結構。兩棧共享空間的資料結構一般用在兩個棧的空間需求有相反關係時,也就是乙個棧在增長時另乙個棧在縮短的情況,但是前提是兩個棧具有相同的資料型別。迭代和遞迴 迭代使用的是迴圈結構,遞迴使用的是選擇結構。遞迴必須至少有乙個...
資料結構之棧和佇列(四)
佇列也是一種特殊的線性表,其特點是先進先出,順序儲存結構的佇列存在陣列溢位的情況,所以一般選擇鏈式儲存結構。1.標頭檔案queue.h typedef int elemtype typedef struct node queuenode,queueptr typedef struct nodefla...
資料結構 棧和佇列
棧 基礎 知識棧 練習題 佇列 基礎知識 棧示意圖 後進先出 順序棧結構定義 define maxsize 1024 struct stack 操作函式 push 入棧 pop 出棧 struct lstack 鏈棧示意圖 操作函式 push 入棧 pop 出棧 注意 也可以直接呼叫系統已經寫好的庫...