宅男噜噜噜666在线观看,国产1区二区三区,国产日韩欧美大片,国产超碰97,国产自产视频,99久久国产综合精品色伊,亚洲午夜高清

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

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

#define  SUCCESS   0
#define  ERROR    -1

typedef int Status;
typedef int ElemType;

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

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

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

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

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

LinkList  p,q;

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

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

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

查看答案

相關試題