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