鏈棧和鏈隊

2021-09-06 02:11:27 字數 1197 閱讀 7855

基本的棧

class stack

void push(char str)

char pop()

bool empty()

bool full()

void display()

}};

逆波蘭表示式

優點:不會發生記憶體溢位的問題

通過鍊錶操作頭結點就可以了

class linkstack

void push(int idata)

int pop()

bool isempty()

void test()

};

需要乙個頭和尾,兩者相當於入隊時,rear++,出隊時front++,當front等於rear時,則表示為空.

基本的佇列

class intqueue

void enqueue(int idata)

int dequeue()

bool empty()

void test()

};

(1)為了防止隊滿的情況

如1,2,3,4,5,maxsize=5,當插入元素6,則溢位,當用了環形佇列,那麼就變成了6,2,3,4,5(6替換了1)

rear=(rear+1)%stack_size;
(2)在出對時判斷是否隊為空

(3)在入隊時判斷是否隊滿

改進後的**

class intqueue

void enqueue(int idata)

int dequeue()

bool empty()

bool isfull()

void test()

};

雙端鍊錶實現,每次插入都是插入尾結點,刪除則是刪除頭結點

class linkqueue

void enqueue(int idata)

int dequeue()

bool isempty()

void test()

};

順序棧 鏈棧 順序隊和鏈隊小結

順序棧和順序隊的儲存結構都為順序儲存,鏈棧和鏈隊的儲存結構為鏈式儲存。順序棧和順序隊為受約束的順序表 可以看成與陣列類似 鏈棧和鏈隊和單鏈表沒有什麼區別。如何寫出這些相應的程式 呢?本人認為有以下幾點 1 清楚順序棧 順序隊 鏈棧和鏈隊的結構及其基本性質,如 隊列為 先進先出 棧為 先進後出 棧需要...

棧和隊的實現8 鏈隊

include pch.h include using namespace std typedef int qelemtype 資料型別 typedef struct qnode qnode,queueptr 結點型別 typedef struct linkqueue 結點指標型別 1.初始化 bo...

2個鏈棧實現鏈隊功能

2chainstack chainqueue.cpp 定義控制台應用程式的入口點。兩個鏈棧實現乙個鏈隊功能 include stdafx.h include typedef int type using namespace std 鏈棧結點 typedef struct stack stack,ps...