/*-------------------------------------
鏈佇列
-------------------------------------*/
#include
#include
#define elemtype char
#define maxsize 100
typedef
struct node //定義節點型別
snode;
typedef
struct
lqueue;
void initqueue(lqueue *&qu)
void enqueue(lqueue *&qu,elemtype x)
else
}int dequeue(lqueue *&qu,elemtype &x)
int queueempty(lqueue *qu)
void main()
/*-------------------------------------
鏈棧
-------------------------------------*/
#include
#include
#define elemtype char
typedef
struct node //定義節點型別
snode;
void initstack(snode *&st) //置空棧
void push(snode *&st,elemtype x) //在棧頂指標是st的鏈棧中插入乙個值為x的節點
}int gettop(snode *st,elemtype &x) //將棧st的棧頂節點的data域值賦給x
}int pop(snode *&st,elemtype &x) //將棧st的棧頂節點的data域值賦給x,然後刪除棧頂節點
}int stackempty(snode *st)
void main()
/*-----------------------------------
順序佇列
-----------------------------------*/
#include
#include
#define elemtype char
#define maxsize 50
typedef
struct
queue;
void initqueue(queue &qu)
int enqueue(queue &qu,elemtype x) //入隊
}int dnqueue(queue &qu,elemtype x) //出隊
}int queueempty(queue qu)
void main()
/*---------------------------------
順序棧---------------------------------*/
#include
#define maxsize 100
typedef
char elemtype;
typedef
struct
stack;
void initstack(stack &st) //置棧空
int push(stack &st,elemtype x) //將元素x壓入到棧st中
}int gettop(stack st,elemtype &x)//將棧st的棧頂元素賦給x,棧指標不變
}int pop(stack &st,elemtype &x) //將棧st的棧頂元素賦給x,棧指標遞減
}int stackempty(stack st)
void main()
資料結構複習 棧和佇列
棧是一種只能在一端進行插入或刪除操作的線性表 棧的最主要特點是後進先出 lifo n個不同的元素進棧,其出棧次序總數為 catalan number c 2n nn 1 frac n 1c2n n typedef elemtype int typedef struct 共享棧 如果要用到兩個相同型別...
資料結構複習 棧和佇列 1 棧
1.棧和佇列簡介 棧和佇列是非常重要的兩種資料結構,在軟體設計中應用很多。棧和佇列也是線性結構,線性表,棧和佇列這三種資料元素和資料元素間的邏輯完全相同。差別是線性表的操作不受限制,而棧和佇列的操作收到限制,棧的操作只能在表的一端進行,佇列的插入操作在表的一端進行而其它操作在表的另一端進行,所以把棧...
資料結構複習三 棧和佇列
先簡要介紹以下棧與佇列 棧 stack 是一種後進先出 lifo 的線性表,僅在表尾 即棧頂 進行插入或刪除操作,像火車排程的頭進尾出。佇列 queue 與棧相反,是一種先進先出 fifo 的線性表,只允許在一端進行插入,而在另一端進行刪除,允許插入的一端稱為隊尾,允許刪除的一端則稱為隊頭,就像日常...