資源簡介
C語言 數據結構,關于隊列的練習題,包含所有代碼(注釋詳盡)以及一份關于題目分析和流程圖的word文檔
以下是該題目:
1、問題描述
一個模擬時鐘提供接聽電話服務的時間(以分鐘計),然后這個時鐘將循環地自增1(分鐘),直到到達指定的時間為止。在時鐘的每個“時刻”,就會執行一次檢查來看看當前電話的服務是否已經完成,如果是,這個電話從電話隊列中刪除,模擬服務將從隊列中取出下一個電話(如果有)繼續開始。同時還需要執行一個檢查來判斷是否有一個新的電話到達,如果有將其到達的時間記錄下來,并為其產生一個隨機服務時間,這個服務時間也被記錄下來,然后將這個電話放入電話隊列中,當客戶服務人員空閑時,按照先來先服
代碼片段和文件信息
#include?“queue.h“
queue?queue_init(queue?que)
{
????if?(que?==?NULL)
????{
???? queue?que=?(queue)malloc(sizeof(Queue));
???? que->start?=?0;
???? que->end?=?0;
???? return?que;
????}
????else
????{
????????que?=?(queue)malloc(sizeof(Queue));
????????que->start?=?0;
???? que->end?=?0;
????????return?que;
????}
}
int?queue_isempty(queue?que)
{
????if?(que->start?==?que->end)
????{
//????????printf(“the?queue?is?empty\n“);
????????return?1;
????}
????else
????{
????????return?0;
????}
}
int?queue_isfull(queue?que)
{
????if?((que->end?+1)%QUEUESIZE?==?que->start)
????{
//????????printf(“the?queue?is?full!\n“);
???? return?1;
????}
????else
????{
???? return?0;
????}
}
int?queue_push(queue?que?queuedata?data)
{
????if?(queue_isfull(que)?==?1)
????{
????????return?-1;
????}
????que->qdata[qu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????310??2012-07-15?13:50??TelephoneService\makefile
?????文件???????2339??2012-07-15?13:38??TelephoneService\queue.c
?????文件????????676??2012-07-15?13:11??TelephoneService\queue.h
?????文件???????7677??2012-07-15?20:37??TelephoneService\telephone_service.c
?????文件?????178776??2012-07-16?12:33??TelephoneService\電話客服模擬器.doc
?????目錄??????????0??2012-07-16?12:33??TelephoneService
-----------?---------??----------?-----??----
???????????????189778????????????????????6
評論
共有 條評論