問題描述及**:
[cpp] view plain copy
1. /*
2. *煙台大學計控學院
3. *作 者:朱建豪
4. *完成日期:2023年10月14日
5. *問題描述:設從鍵盤輸入一整數序列a1,a2,…an,試程式設計實現:當ai>0時,ai進隊,當ai<0時,將隊首元素出隊,當ai=0時,表示輸入結束。要求將佇列處理成環形佇列,使用演算法庫中定義的資料型別及演算法,程式中只包括乙個函式(main函式),入隊和出隊等操作直接寫在main函式中即可。當進隊出隊異常(如隊滿)時,要列印出錯資訊。
6.
7. */
(1)sqqueue.h
[cpp] view plain copy
1. #ifndef sqqueue_h_included
2. #define sqqueue_h_included
3. #define maxsize 5
4. typedef int elemtype;
5. typedef struct
6. sqqueue;
10.
11.
12. void initqueue(sqqueue *&q); //初始化順序環形佇列
13. void destroyqueue(sqqueue *&q); //銷毀順序環形佇列
14. bool queueempty(sqqueue *q); //判斷順序環形佇列是否為空
15. int queuelength(sqqueue *q); //返回佇列中元素個數,也稱佇列長度
16. bool enqueue(sqqueue *&q,elemtype e); //進隊
17. bool dequeue(sqqueue *&q,elemtype &e); //出隊
18.
19.
20.
21.
22.
23. #endif // sqqueue_h_included
(2)sqqueueu.cpp
[cpp] view plain copy
1. #include"sqqueue.h"
2. #include3. #include4. void initqueue(sqqueue *&q) //初始化順序環形佇列
5.
9. void destroyqueue(sqqueue *&q) //銷毀順序環形佇列
10.
13. bool queueempty(sqqueue *q) //判斷順序環形佇列是否為空
14.
17.
18.
19. int queuelength(sqqueue *q) //返回佇列中元素個數,也稱佇列長度
20.
23.
24. bool enqueue(sqqueue *&q,elemtype e) //進隊
25.
32. bool dequeue(sqqueue *&q,elemtype &e) //出隊
33.
(3)main.cpp
[cpp] view plain copy
1. #include 2. #include 3. #include "sqqueue.h"
4. int main()
5.
18. else if (a<0)
19.
23. else
24. break;
25. }
26. return 0;
27. }
執行結果:
環形佇列的基本運算及while迴圈語句
學習心得:
這才讀懂題目意思,只是在鍵盤輸入的時候讓負數出隊,理解了意思演算法也就明白了
第七周專案3 負數把正數趕出佇列
專案 負數把正數趕出佇列 設從鍵盤輸入一整數序列a1,a2,an,試程式設計實現 當ai 0時,ai進隊,當ai 0時,將隊首元素出隊,當ai 0時,表示輸入結束。要求將佇列處理成環形佇列,使用演算法庫中定義的資料型別及演算法,程式中只包括乙個函式 main函式 入隊和出隊等操作直接寫在main函式...
第七周 專案3 負數把正數趕出佇列
檔名稱 main.cpp 作者 王超 完成日期 2015年10月14 日 問題描述 負數把正數趕出佇列 include include include sqqueue.h int main else if a 0 else break return 0 include include include...
第七周專案3 負數把正數趕出佇列
問題 檔名稱 專案3.cbp 作 者 李藝 完成日期 2015年10月23日 版 本 號 v1.0 問題描述 設從鍵盤輸入一整數序列a1,a2,an,試程式設計實現 當ai 0時,ai進隊,當ai 0時,將隊首元素出隊,當ai 0時,表示輸 入結束。要求將佇列處理成環形佇列,使用演算法庫中定義的資料...