問題及**:
/*
檔名稱:1.cpp
作 者:路亞麗
完成日期:2023年10月9日
版 本 號:v1.0
問題描述:設從鍵盤輸入一整數序列a1,a2,…an,試程式設計實現:當ai>0時,ai進隊,當ai<0時,將隊首元素出隊,當ai=0時,表示輸
入結束。要求將佇列處理成環形佇列,使用演算法庫中定義的資料型別及演算法,程式中只包括乙個函式(main函式),入隊和
出隊等操作直接寫在main函式中即可。當進隊出隊異常(如隊滿)時,要列印出錯資訊。
輸入描述:整數
程式輸出:隊空進隊,隊滿列印出錯資訊。
*/
sqqueue.h:
#ifndef sqqueue_h_included
#define sqqueue_h_included
#include #include #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
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) //出隊
mian.cpp:
int main()
{ elemtype a,e;
sqqueue *qu; //定義佇列
initqueue(qu); //佇列初始化
while (1) //無限迴圈
{cout<
cin>>a;
if (a==0)
break;
else
{if (a>0)
{if (!enqueue(qu,a))
cout<
執行結果:
知識點總結:
佇列的入隊和出隊 判斷隊空隊滿
學習心得:
鞏固了佇列的基本操作,能夠將其運用於具體題目
第7周 專案3 負數把正數趕出佇列
1.標頭檔案 sqqueue.h,包含定義順序環形佇列資料結構的 巨集定義 要實現演算法的函式的宣告 define maxsize 5 typedef int elemtype typedef struct sqqueue void initqueue sqqueue q 初始化順序環形佇列 voi...
第7周 專案3 負數把正數趕出佇列
問題及 此程式呼叫了環形佇列演算法庫 sqqueue.cpp和sqqueue.h 檔名稱 test.cpp 作 者 徐群壯 完成日期 2015.10.15 版 本 號 v1.0 問題描述 設從鍵盤輸入一整數序列a1,a2,an,試程式設計實現 當ai 0時,ai進隊,當ai 0時,將隊首元素出隊,當...
第7周專案3負數把正數趕出佇列
問題及 1 演算法庫sqqueue.h 2 main.cpp 檔名稱 專案3.cpp 完成日期 2015.10.23 問題描述 設從鍵盤輸入一整數序列a1,a2,an,試程式設計實現 當ai 0時,ai進隊,當ai 0時,將隊首元素出隊,當ai 0時,表示輸入結束。要求將佇列處理成環形佇列,使用演算...