摘要:希賽網(wǎng)為大家整理了2017上半年程序員考試案例分析真題,以下為第四部分。試題四(共15分)閱讀以下說(shuō)明和C函數(shù),填補(bǔ)函數(shù)中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)?!菊f(shuō)明】
希賽網(wǎng)為大家整理了2017上半年程序員考試案例分析真題,以下為第四部分。
試題四(共15分)
閱讀以下說(shuō)明和C函數(shù),填補(bǔ)函數(shù)中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
簡(jiǎn)單隊(duì)列是符合先進(jìn)先出規(guī)則的數(shù)據(jù)結(jié)構(gòu),下面用不含有頭結(jié)點(diǎn)的單向循環(huán)鏈表表示簡(jiǎn)單隊(duì)列。
函數(shù)enqueue(queue*q,KeyType new_elem)的功能是將元素new_elem加入隊(duì)尾。
函數(shù)Dnqueue(queue*q,KeyType*elem)的功能使將非空隊(duì)列的隊(duì)頭元素出隊(duì)(從隊(duì)列中刪除),并通過(guò)參數(shù)帶回剛出隊(duì)的元素。用單向循環(huán)鏈表表示的隊(duì)列如圖4-1所示。
圖4-1單向循環(huán)鏈表表示的隊(duì)列示意圖
隊(duì)列及鏈表結(jié)點(diǎn)等相關(guān)類型定義如下:
enum{errOr,OK};
typedef int KeyType;
typedef struct qNode﹛
KeyType data;
Struct qNode*next;
﹜qNode,*Linkqueue;
Typedef struct﹛
int size;
Link:queue rear;
}queue;
【C函數(shù)】
int enqueue(queue*q,KeyType new_elem)
﹛//元素new_elem入隊(duì)列
qNode*p;
P=(qNode*)malloc(sizeof(qNode));
if(!p)
return errOr;
P->data=new_elem;
if(q->rear)﹛
P->next=q->rear->next;
();
﹜
else
P->next=p;
﹙﹚;
q->size++;
return OK;
﹜
int Dequeue(queue*q,KeyType*elem)
﹛//出隊(duì)列
qNode*p;
if(0==q->size)//是空隊(duì)列
return errOr;
P=();//令p指向隊(duì)頭元素結(jié)點(diǎn)
*elem=p->data;
q->rear->next=();//將隊(duì)列元素結(jié)點(diǎn)從鏈表中去除
if(())//被刪除的隊(duì)頭結(jié)點(diǎn)是隊(duì)列中結(jié)點(diǎn)
q->rear=NULL//變成空隊(duì)列
free(p);
q->size--;
return OK;
﹜
>>>>返回目錄:2017上半年程序員考試案例分析真題(匯總)
>>>>進(jìn)入估分:2017上半年軟考分?jǐn)?shù)早知道,在線估分+真題解析
>>>>點(diǎn)擊查看:2017上半年程序員上午真題答案和解析
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題