問題及代碼:
<span style="font-size:12px;">/*
Copyright (c)2015,煙臺大學計算機與控制工程學院
All rights reserved.
文件名稱:第7周項目4--隊列數組.cpp
作 者:朱振華
完成日期:2015年10月23日
版 本 號:v1.0
問題描述:創建10個隊列,分別編號爲0-9(處理爲隊列數組,編號即下標)。
輸入若干個正整數,以數字0作爲結束。設輸入的值爲x,其個位數字的大小爲i,
則將x插入到編號爲i的隊列中。最後輸出所有的非空隊列。
要求將隊列處理成鏈式隊列,使用鏈式隊列算法庫中定義的數據類型及算法,
程序中只包括一個函數(main函數),入隊和出隊等操作直接在main函數中調用即可。
輸入描述:10個隊列
程序輸出:鏈式隊列.
*/</span>
1.鏈隊算法庫
2.主函數
#include <stdio.h>
#include <malloc.h>
#include "liqueue.h"
#define N 10
int main()
{
int i, a;
LiQueue *qu[N]; //定義隊列指針數組
for (i=0; i<N; i++)
InitQueue(qu[i]); //初始化隊列
//爲隊列中加入值
printf("輸入若干正整數,以0結束: ");
scanf("%d", &a);
while(a)
{
enQueue(qu[a%10], a);
scanf("%d", &a);
}
//輸出各個隊列
printf("按個位數整理到各個隊列中後,各隊列出隊的結果是: \n");
for (i=0; i<N; i++)
{
printf("qu[%d]: ", i);
while(!QueueEmpty(qu[i]))
{
deQueue(qu[i], a);
printf("%d ", a);
}
printf("\n");
}
//銷燬各個隊列
for (i=0; i<N; i++)
DestroyQueue(qu[i]);
return 0;
}
運行結果:
學習心得:
鏈隊能直觀體現數據。