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

2021-10-07 18:10:55 字數 1853 閱讀 6662

要求

(1)程式設計實現棧的以下基本操作:建棧,取棧頂元素,入棧,出棧。

(2)程式設計實現佇列的以下基本操作:建佇列,取隊頭元素,入隊,出隊。

#include

#define ok 1

#define error 0

#define maxsize 100

typedef

int selemtype;

typedef

int qelemtype;

typedef

int status;

using

namespace std;

//棧typedef

struct

sqstack;

//初始化

status initstack

(sqstack &s)

s.top = s.base;

s.stacksize = maxsize;

return ok;

}//入棧

status push

(sqstack &s, selemtype e)

*s.top++

=e;//*s.top=e;

return ok;

}//出棧

status pop

(sqstack &s, selemtype &e)

e=*--s.top;

//e=*s.top;

cout<<

"出棧元素為:"

}//取棧頂元素

status gettop

(sqstack s, selemtype &e)

e=*(s.top-1)

; cout<<

"棧頂元素為:"

}//佇列

typedef

struct

sqqueue;

//建立佇列

status initqueue

(sqqueue &q)

q.front=q.rear=0;

return ok;

}//入隊

status enqueue

(sqqueue &q,qelemtype e)

q.base[q.rear]

=e; q.rear=

(q.rear+1)

%maxsize;

return ok;

}//出隊

status dequeue

(sqqueue &q,qelemtype &e)

e=q.base[q.front]

; q.front=

(q.front+1)

%maxsize;

cout<<

"出隊元素為:"

}//取隊頭元素

status gethead

(sqqueue q,qelemtype e)

e=q.base[q.front]

; cout<<

"隊頭元素為:"

}int

main()

else

if(i==2)

else

if(i==3)

else

if(i==4)

else

if(i==5)

else

if(i==6)

else

flag=

false;}

return0;

}

資料結構 棧和佇列 c

標頭檔案 標頭.h include include using namespace std define stack init size 100 define stackincrement 10 define overflow 2 define error 0 define ok 1 define ...

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

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 棧是一...