棧和佇列的基本操作及應用
1. 完成順序棧的設計並測試順序棧各操作
2. 完成順序迴圈佇列的設計並測試順序迴圈佇列各操作;
3. 利用順序棧和順序迴圈佇列完成回文的判斷。
#include
#include
#define maxsize 60
/* 線性表儲存空間的大小 */
typedef
char elemtype;
typedef
struct
sqstack;
void
initstack
(sqstack *
&s)int
stackempty
(sqstack *s)
intpush
(sqstack *
&s,elemtype e)
intpop
(sqstack *
&s,elemtype &e)
void
clearstack
(sqstack *
&s)int
stacklength
(sqstack *s)
intgettop
(sqstack *s,elemtype &e)
void
dispstack
(sqstack *s)
void
main()
printf
("\n");
printf
("棧s為:%s\n",(
stackempty
(s)?
"空":
"非空"))
;printf
("釋放棧。\n");
clearstack
(s);
}
#include
#include
#include
#define maxsize 6
/* 線性表儲存空間的大小 */
typedef
char elemtype;
typedef
struct
sqqueue;
void
initqueue
(sqqueue *
&q)void
destroyqueue
(sqqueue *
&q)int
queuelength
(sqqueue *q)
intqueueempty
(sqqueue *q)
intenqueue
(sqqueue *
&q,elemtype e)
bool queuefull
(sqqueue *q)
intdequeue
(sqqueue *
&q,elemtype &e)
void
main()
printf
("\n");
printf
("(9)釋放佇列\n");
destroyqueue
(q);
}
#include
#include
#define maxsize 50
typedef
struct
sqstack;
typedef
struct
sqqueue;
void
initsqstack
(sqstack *
&s)void
initsqqueue
(sqqueue *
&q)int
pushstack
(sqstack *
&s,char
&e)int
pushsqqueue
(sqqueue *
&q,char
&e)int
popstack
(sqstack *
&s,char
&e)int
popqueue
(sqqueue *
&q,char
&e)int
main()
while
(s->top!=0)
else}if
(flag==1)
printf
("此字串是回文\n");
else
printf
("此字串不是回文\n");
return0;
}
實驗4 棧和佇列的基本操作實現及其應用2
一 實驗目的 1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。二 實驗內容 1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。三 源程式 includeusing namespace std con...
實驗三 棧和佇列的基本操作實現及其應用
一 實驗目的 1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。二 實驗內容 1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。2 設計演算法並...
實驗4 棧和佇列的基本操作實現及其應用
1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。三 源程式 五 實驗心得 棧特點就是先進後出 後進先出 從乙個口進去,從同乙個口出去。棧是限定僅在尾...