中文字幕综合一区,伊人av网,欧美中日韩在线,亚洲国产香蕉视频,黄视频在线免费,天天操天天爱天天爽,狠狠躁天天躁

軟題庫 移動APP 掃碼下載APP 隨時隨地移動學習 培訓課程
試卷名稱 2014年下半年程序員考試下午真題試題(案例分析)
考試中心《2014年下半年程序員考試下午真題試題(案例分析)》在線考試
試卷年份2014年下半年
試題題型【分析簡答題】
試題內(nèi)容

閱讀以下說明和C函數(shù),填補函數(shù)代碼中的空缺(1)~(5),將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
    隊列是一種常用的數(shù)據(jù)結(jié)構(gòu),其特點是先入先出,即元素的插入在表頭、刪除在表尾進行。下面采用順序存儲方式實現(xiàn)隊列,即利用一組地址連續(xù)的存儲單元存放隊列元素,同時通過模運算將存儲空間看作一個環(huán)狀結(jié)構(gòu)(稱為循環(huán)隊列)。
    設(shè)循環(huán)隊列的存儲空間容量為MAXQSIZE,并在其類型定義中設(shè)置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)所示,經(jīng)過一系列的入隊、出隊操作后,隊列的狀態(tài)如圖3-1(b)所示(隊列長度為3)。

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


相關(guān)試題

推薦文章
合作網(wǎng)站內(nèi)容