問題及**:
/*2015,煙台大學計算機與控制工程學院
*完成日期:2023年10月12號
*問題描述:設從鍵盤輸入一整數序列a1,a2,…an,試程式設計實現:當ai>0時,ai進隊,當ai<0時,將隊首元素出隊
當ai=0時,表示輸入結束。要求將佇列處理成環形佇列,使用演算法庫中定義的資料型別及演算法,程式中只包括乙個函式(main函式)
入隊和出隊等操作直接寫在main函式中即可。當進隊出隊異常(如隊滿)時,要列印出錯資訊。
*輸入描述:整數
*結果輸出:資料元素
*/
(1)sqqueue.h
#ifndef sqqueue_h_included
#define sqqueue_h_included
#define maxsize 5
typedef int elemtype;
typedef struct
sqqueue;
void initqueue(sqqueue *&q); //初始化順序環形佇列
void destroyqueue(sqqueue *&q); //銷毀順序環形佇列
bool queueempty(sqqueue *q); //判斷順序環形佇列是否為空
int queuelength(sqqueue *q); //返回佇列中元素個數,也稱佇列長度
bool enqueue(sqqueue *&q,elemtype e); //進隊
bool dequeue(sqqueue *&q,elemtype &e); //出隊
#endif // sqqueue_h_included
(2)sqqueue.cpp
#include #include #include "sqqueue.h"
void initqueue(sqqueue *&q) //初始化順序環形佇列
void destroyqueue(sqqueue *&q) //銷毀順序環形佇列
bool queueempty(sqqueue *q) //判斷順序環形佇列是否為空
int queuelength(sqqueue *q) //返回佇列中元素個數,也稱佇列長度
bool enqueue(sqqueue *&q,elemtype e) //進隊
bool dequeue(sqqueue *&q,elemtype &e) //出隊
(3)除錯函式:
#include #include "sqqueue.h"
int main()
else if (a<0)
else
break;
}return 0;
}
執行結果:
知識點總結:
運用剛剛建立的順序佇列演算法庫,使程式變得簡單。
學習心得:
再一次複習到了順序佇列。
負數把正數趕出佇列
問題描述 設從鍵盤輸入一整數序列a1,a2,an,試程式設計實現 當ai 0時,ai進隊,當ai 0時,將隊首元素出隊,當ai 0時,表示輸入結束。要求將佇列處理成環形佇列,使用環形佇列演算法庫中定義的資料型別及演算法,程式中只包括乙個函式 main函式 入隊和出隊等操作直接在main函式中呼叫即可...
第七周 負數把正數趕出佇列
檔名稱 第七周專案 負數把正數趕出佇列 作 者 紀冬雪 完成日期 2015年10月20日 版 本 號 v1.0 問題描述 設從鍵盤輸入一整數序列a1,a2,an,試程式設計實現 當ai 0時,ai進隊,當ai 0時,將隊首元素出隊,當ai 0時,表示輸 入結束。要求將佇列處理成環形佇列,使用演算法庫...
第七周 負數把正數趕出佇列
煙台大學計算機與控制工程學院 作 者 郝環宇 完成日期 10.9 問題描述 設從鍵盤輸入一整數序列a1,a2,an,試程式設計實現 當ai 0時,ai進隊,當ai 0時,將隊首元素出隊,當ai 0時,表示輸入結束。要求將佇列處理成環形佇列,使用環形佇列演算法庫中定義的資料型別及演算法,程式中只包括乙...