国产女主播一区二区|绝不放过你电影在线观看完整版|欧美寡妇性猛交ⅹxxx|谍战片电视剧免费观看电视剧大全在线观看,av片国产,国产精品欧美久久久久久,免费观看久久久

軟題庫 學習課程
當前位置:信管網 >> 在線考試中心 >> 試題查看
試題題型【分析簡答題】
試題內容

閱讀以下說明和C函數,填補函數代碼中的空缺(1)~(5),將解答填入答題紙的對應欄內。
【說明】
隊列是一種常用的數據結構,其特點是先入先出,即元素的插入在表頭、刪除在表尾進行。下面采用順序存儲方式實現隊列,即利用一組地址連續(xù)的存儲單元存放隊列元素,同時通過模運算將存儲空間看作一個環(huán)狀結構(稱為循環(huán)隊列)。
設循環(huán)隊列的存儲空間容量為MAXQSIZE,并在其類型定義中設置base、rear和length三個域變量,其中,base為隊列空間的首地址,rear為隊尾元素的指針,length表示隊列的長度。
#define MAXQSIZE 100
typedef struct  {
QElemType *base;             /* 循環(huán)隊列的存儲空間首地址 */
int        rear;             /* 隊尾元素索引 */
int        length;           /* 隊列的長度 */
} SqQueue;
例如,容量為8的循環(huán)隊列如圖3-1所示,初始時創(chuàng)建的空隊列如圖3-1(a)所示,經過一系列的入隊、出隊操作后,隊列的狀態(tài)如圖3-1(b)所示(隊列長度為3)。

圖3-1
下面的C函數1、C函數2和C函數3用于實現隊列的創(chuàng)建、插入和刪除操作,請完善這些代碼。
【C函數1】創(chuàng)建一個空的循環(huán)隊列。
int  InitQueue(SqQueue *Q)
/* 創(chuàng)建容量為MAXQSIZE的空隊列,若成功則返回1;否則返回0 */
{     Q->base=(QElemType *) malloc ( MAXQSIZE* (1) );
if (!Q->base) return 0;
Q->length=0;
Q->rear=0;
return 1;
} /* InitQueue */
【C函數2】元素插入循環(huán)隊列。
int EnQueue(SqQueue *Q, QElemType e)  /* 元素e入隊,若成功則返回1;否則返回0 */
{   if(Q->length>=MAXQSIZE)  return 0;
Q->rear= (2) ;
Q->base[Q->rear]=e;
(3) ;
return  1;
} /* EnQueue */
【C函數3】元素出循環(huán)隊列。
int DeQueue (SqQueue *Q, QElemType  *e)
/* 若隊列不空,則刪除隊頭元素,由參數e帶回其值并返回1;否則返回0 */
{   if ( (4) ) return 0;
*e=Q->base[(Q->rear - Q->length+1+MAXQSIZE) %MAXQSIZE];
(5) ;
return 1;
} /* DeQueue */

查看答案

相關試題