深夜成人在线,chinese国产一区二区,欧美精品乱码,日韩欧美在线视频免费观看,国产午夜不卡,日韩av影院在线,五月天婷婷国产精品

軟題庫 學(xué)習(xí)課程
當(dāng)前位置:信管網(wǎng) >> 在線考試中心 >> 試題查看
試題題型【分析簡(jiǎn)答題】
試題內(nèi)容

閱讀以下說明和 C  代碼,填補(bǔ)代碼中的空缺,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
函數(shù) GetListElemPtr(LinkList L,int i)的功能是查找含頭結(jié)點(diǎn)單鏈表的第i個(gè)元素。若找到,則返回指向該結(jié)點(diǎn)的指針,否則返回空指針。
函數(shù)DelListElem(LinkList L,int i,ElemType *e)  的功能是刪除含頭結(jié)點(diǎn)單鏈表的第 i個(gè)元素結(jié)點(diǎn),若成功則返回 SUCCESS ,并由參數(shù)e 帶回被刪除元素的值,否則返回ERROR 。
例如,某含頭結(jié)點(diǎn)單鏈表 L 如圖 4-1  (a)  所示,刪除第 3 個(gè)元素結(jié)點(diǎn)后的單鏈表如 圖 4-1 (b) 所示。

#define  SUCCESS   0
#define  ERROR    -1

typedef int Status;
typedef int ElemType;

鏈表的結(jié)點(diǎn)類型定義如下:

typedef struct Node{
ElemType data;
struct Node  *next;
}Node ,*LinkList;
【C 代碼】
LinkList  GetListElemPtr(LinkList  L ,int  i)
{ /* L是含頭結(jié)點(diǎn)的單鏈表的頭指針,在該單鏈表中查找第i個(gè)元素結(jié)點(diǎn):
若找到,則返回該元素結(jié)點(diǎn)的指針,否則返回NULL
*/
LinkList  p;
int   k;      /*用于元素結(jié)點(diǎn)計(jì)數(shù)*/

if  (i<1 ∣∣ !L ∣∣ !L->next)  return NULL;

k  =  1;   P  =  L->next;          / *令p指向第1個(gè)元素所在結(jié)點(diǎn)*/
while (p &&             (1)       ) {  /*查找第i個(gè)元素所在結(jié)點(diǎn)*/
(2)       ;  ++k;
}
return p;
}

Status  DelListElem(LinkList  L ,int i ,ElemType  *e)
{   /*在含頭結(jié)點(diǎn)的單鏈表L中,刪除第i個(gè)元素,并由e帶回其值*/

LinkList  p,q;

/*令p指向第i個(gè)元素的前驅(qū)結(jié)點(diǎn)*/
if (i==1)
(3)      ;
else
p = GetListElemPtr(L ,i-1);

if (!p ∣∣ !p->next)       return ERROR; /*不存在第i個(gè)元素*/

q =      (4)     ;            /*令q指向待刪除的結(jié)點(diǎn)*/
p->next = q->next;     /*從鏈表中刪除結(jié)點(diǎn)*/
(5)        ;              /*通過參數(shù)e帶回被刪除結(jié)點(diǎn)的數(shù)據(jù)*/
free(q);
return  SUCCESS;
}

查看答案

相關(guān)試題