データ構造の実践——負の数は正の数を列から追い出します.


本論文は、データ構造の基礎となる一連のネットワーク・コース(3):スタックとキューの実践プロジェクトである.
【項目-負の数は正数を列から追い出す】キーボードから整数シーケンスa 1,a 2,…anを入力して、プログラミングを試みて実現します.ai>0の時、aiはチームに進みます.キューを環状のキューに処理して、アルゴリズムライブラリで定義されたデータの種類とアルゴリズムを使って、プログラムには一つの関数(main関数)だけが含まれています.列に入って異常(列がいっぱい)になったら、エラーメッセージを印刷します.
[参照解答]説明——ここで使うリング行列のアルゴリズムライブラリ(sqqueue.h)を使って、リンクをクリックしてください.
#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("    ,    
"
); } else if (a<0) { if (!deQueue(qu, x)) printf(" ,
"
); } else break; } return 0; }
特別な注意:元のsqqueue.hのtypedef char ElemType;typedef int ElemType;に変更する必要があります.