午夜无码中文字幕影院,国产自产第一区c国产,久久久久久夜精品精品免费,国产99久久,夜夜夜夜曰天天天天拍国产,欧美日韩亚洲另类专区,国产精品区一区二区免费

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

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

#define  SUCCESS   0
#define  ERROR    -1
 
typedef int Status;
typedef int ElemType;
 
鏈表的結點類型定義如下:
 
typedef struct Node{
                ElemType data;
                struct Node  *next;
}Node ,*LinkList;
【C 代碼】
LinkList  GetListElemPtr(LinkList  L ,int  i)
{ /* L是含頭結點的單鏈表的頭指針,在該單鏈表中查找第i個元素結點:
     若找到,則返回該元素結點的指針,否則返回NULL
*/
          LinkList  p;
          int   k;      /*用于元素結點計數(shù)*/
 
          if  (i<1  ∣∣ !L  ∣∣  !L->next)  return NULL;
 
          k  =  1;   P  =  L->next;          / *令p指向第1個元素所在結點*/
          while (p &&             (1)       ) {  /*查找第i個元素所在結點*/
                          (2)       ;  ++k;
          }
          return p;
}
 
Status  DelListElem(LinkList  L ,int i ,ElemType  *e)
{   /*在含頭結點的單鏈表L中,刪除第i個元素,并由e帶回其值*/
 
          LinkList  p,q;
 
          /*令p指向第i個元素的前驅結點*/
          if (i==1)
                     (3)      ;
          else
                p = GetListElemPtr(L ,i-1);
 
          if (!p ∣∣ !p->next)       return ERROR; /*不存在第i個元素*/
 
          q =      (4)     ;            /*令q指向待刪除的結點*/
          p->next = q->next;     /*從鏈表中刪除結點*/
                 (5)        ;              /*通過參數(shù)e帶回被刪除結點的數(shù)據(jù)*/
          free(q);
          return  SUCCESS;
}


相關試題

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