//資料結構棧和佇列演算法總結以及測試
#define maxsize 100
//初始化順序棧:initstack(sqstack &st)
//順序棧判斷棧空:isempty(sqstack st)
//順序棧進棧:push(sqstack &st,int x)
//順序棧出棧:pop(sqstack &st,int &x)
//鏈棧初始化:initstack(lnode *&lst)
//鏈棧棧空:isempty(lnode *lst)
//鏈棧進棧:push(lnode *lst,int x)
//鏈棧出棧:pop(lnode *lst,int &x)
//不帶頭結點的鏈棧操作:
//initstackl(lnode *&lst)
//isemptyl(lnode *lst)
//pushl(lnode *&lst,int x)
//popl(lnode *&lst,int x)
//順序隊初始化:initqueue(sqqueue &qu)
//順序隊隊空:isqueueempty(sqqueue qu)
//順序隊進隊:enqueue(sqqueue &qu,int x)
//順序隊出隊:dequeue(sqqueue &qu,int &x)
//鏈隊初始化:initqueue(liqueue *&lqu)
//鏈隊隊空:isqueueempty(liqueue *lqu)
//鏈隊入隊:enqueue(liqueue *lqu,int x)
//鏈隊出隊:dequeue(liqueue *lqu,int &x)
typedef struct
sqstack;
typedef struct lnode
lnode;
typedef struct
sqqueue;
typedef struct qnode
qnode;
typedef struct
liqueue;
void initstack(sqstack &st)
int isempty(sqstack st)
int push(sqstack &st,int x)
int pop(sqstack &st,int &x)
void initstack(lnode *&lst)
int isempty(lnode *lst)
void push(lnode *lst,int x)
int pop(lnode *lst,int &x)
void initstackl(lnode *&lst)
int isemptyl(lnode *lst)
void pushl(lnode *&lst,int x)
int popl(lnode *&lst,int x)
void initqueue(sqqueue &qu)
int isqueueempty(sqqueue qu)
int enqueue(sqqueue &qu,int x)
int dequeue(sqqueue &qu,int &x)
void initqueue(liqueue *&lqu)
int isqueueempty(liqueue *lqu)
void enqueue(liqueue *lqu,int x)
else }
int dequeue(liqueue *lqu,int &x)
以下是測試**:
#include#includeusing std::cout;
using std::cin;
using std::endl;
int main()
cout << "the result of going out of the stack in turn!" << endl;
for(int i(0);i<10;i++)
cout << endl <<"this is the end of the program!" << endl;
}
宣告:以上內容僅用來交流學習 python資料結構 棧和佇列以及演算法 排序
棧 stack 有些地方稱為堆疊,是一種容器,可存入資料元素 訪問元素 刪除元素,它的特點在於只能允許在容器的一端 稱為棧頂端指標,英語 top 進行加入資料 英語 push 和輸出資料 英語 pop 的運算。採用lifo 後進先出 的原理運作 再棧中新增元素被稱之為壓棧 push 刪除元素被稱之為...
資料結構 棧和佇列總結
1.棧空條件 s.top 1 棧滿 s.top maxsize 1 棧長 s.top 1 以上當然是順序棧的情況。或許之前儲存的元素仍然在棧中,但top指標已經指向了新的棧頂,也就起到了刪除的作用。進棧操作 指標先加1,再入棧。s.data s.top x 出棧操作 先出棧,指標再減1。x s.da...
資料結構棧 佇列演算法
cpp view plain copy include include include include include 兩個棧實現佇列 using namespace std template class queue int size bool empty void push t value t f...