1. 程式人生 > >第七週專案3 負數把正數趕出佇列

第七週專案3 負數把正數趕出佇列

/*      
Copyright (c)2015,煙臺大學計算機與控制工程學院      
All rights reserved.      
檔名稱:第7周專案3 - 負數把正數趕出佇列.cpp      
作    者:孫欽達      
完成日期:2015年10月23日      
版 本 號:v1.0      
      
問題描述:設從鍵盤輸入一整數序列a1,a2,…an,試程式設計實現:
          當ai>0時,ai進隊,當ai<0時,將隊首元素出隊,當ai=0時,
		  表示輸入結束。要求將佇列處理成環形佇列,
		  使用環形佇列演算法庫中定義的資料型別及演算法,
		  程式中只包括一個函式(main函式),入隊和出隊等操作直接在main函式中呼叫即可。
		  當進隊出隊異常(如隊滿)時,要打印出錯資訊。 
輸入描述:若干資料。
程式輸出:若干資料。
*/
#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;
}
執行結果:
<img src="https://img-blog.csdn.net/20151026161303451?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
學習心得:

多做一些關於環形佇列的專案有助於對其加深瞭解。