*第七週*資料結構實踐專案三【負數把整數趕出佇列】
阿新 • • 發佈:2019-01-25
【專案 - 負數把正數趕出佇列】
設從鍵盤輸入一整數序列a1,a2,…an,試程式設計實現:當ai>0時,ai進隊,當ai<0時,將隊首元素出隊,當ai=0時,表示輸入結束。要求將佇列處理成環形佇列,使用演算法庫中定義的資料型別及演算法,程式中只包括一個函式(main函式),入隊和出隊等操作直接寫在main函式中即可。當進隊出隊異常(如隊滿)時,要打印出錯資訊。
我採用了多檔案系統的方式構建這個程式,分為兩個部分,標頭檔案部分使用之前建設的演算法庫,但是要將ElemType定義為int。
主函式:
/* Copyright (c) 2015,煙臺大學計算機與控制工程學院 All righs reserved 檔名稱:text.h 作者: 李哲 完成日期:2015年10月16日 問題描述:負數把整數趕出佇列 程式說明:主函式 */ #include <stdio.h> #include <malloc.h> #include "sqqueue.h" int main() { ElemType a,x; SqQueue *qu; //定義佇列 InitQueue(qu); //佇列初始化 while (1) { printf("輸入a值(輸入正數進隊,負數出隊,0結束):"); scanf("%d", &a); if (a>0) { if (!enQueue(qu,a)) printf(" 佇列滿,不能入隊\n"); } else if (a<0) { if (!deQueue(qu, x)) printf(" 佇列空,不能出隊\n"); } else break; } return 0; }