初學資料結構 棧和佇列的基本操作

2021-10-07 05:23:41 字數 2689 閱讀 1840

#include

#include

#include

#include

#define maxsize 100

#define ok 1

#define error 0

#define overflow -2

using

namespace std;

//---------------------順序棧-------------------------

typedef

struct

sqstack;

//初始化順序棧

void

initstack

(sqstack &s)

}//取順序棧的棧頂元素

void

gettop

(sqstack s)

//順序棧的入棧操作

void

push

(sqstack &s,

int e)

}//順序棧的出棧操作

void

pop(sqstack &s ,

int&e)

}//顯示順序棧元素

void

displays

(sqstack s)

}//---------------------鏈棧-------------------------

typedef

struct stacknode

stacknode ,

*linkstack;

//linkstack為指向結構體stacknode型別的指標

//初始化鏈棧

void

initstack

(linkstack &s)

//鏈棧的入棧操作

void

push

(linkstack &s,

int e)

//鏈棧的出棧操作

void

pop(linkstack &s,

int&e)

//鏈棧取棧頂元素

void

gettop

(linkstack s)

//顯示鏈棧元素

void

displays

(linkstack s)

cout<

}//----------------------順序隊-------------------------

typedef

struct

sqqueue;

//初始化順序隊

void

initqueue

(sqqueue &q)

}//取順序隊的隊頭元素

void

gethead

(sqqueue q)

//順序隊的入隊操作

void

enqueue

(sqqueue &q,

int e)

}//順序隊的出隊操作

void

dequeue

(sqqueue &q,

int&e)

}//顯示順序隊元素

void

displayq

(sqqueue q)

cout<

}else

cout<<

"順序隊為空"

<

}//----------------------鏈隊--------------------------

typedef

struct qnode

qnode,

*queueptr;

//queueptr是指向qnode型別的指標

typedef

struct

linkqueue;

//初始化鏈隊

void

initqueue

(linkqueue &q)

}//取鏈隊頭元素

void

gethead

(linkqueue q)

//鏈隊的入隊操作

void

enqueue

(linkqueue &q,

int e)

//鏈隊的出隊操作

void

dequeue

(linkqueue &q,

int&e)

}//顯示鏈隊元素

void

displayq

(linkqueue q)

cout<

}else

cout<<

"鏈隊為空"

<

}void

show()

intmain()

cout<<

"請輸入您的選擇:"

; cin>>x;

}return0;

}

測試用例:

資料結構之棧和佇列 佇列的基本操作

問題 實現佇列的基本操作,內容包括佇列的結構體,佇列的初始化,佇列的銷毀,進隊操作及出隊操作 佇列節點的結構體 typedef struct qnode qnode,qpoint 佇列鏈的結構體 typedef struct linkqueue linkqueue 佇列的初始化 lq front分配...

資料結構 棧和佇列相關操作

include using namespace std 棧typedef struct stack 初始化棧 void stack init stack s 入棧 void stack push stack s,int e s.top e s.top 出棧 void stack pop stack ...

JS資料結構的棧和佇列操作

資料結構 列表 棧 佇列 鍊錶 字典 雜湊 圖和二叉查詢樹!排序演算法 冒牌 選擇 插入 希爾 歸併和快速!查詢演算法 順序查詢和二分查詢 在平時工作中,對陣列的操作很是平常,它提供了很多方法使用,比如位置方法 迭代方法 賦值方法等等,而掌握佇列和棧的資料結構使用則會提高你的工作效率!o o 棧是一...