黄色大片免费在线观看,国产免费啪啪,在线亚洲欧洲,91视频男人的天堂,日韩在线播放一区,一级特黄录像播放,综合久久91

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

閱讀以下說明和 C 函數(shù),填補代碼中的空缺,將解答填入答題紙的對應欄內。
【說明】
函數(shù) Combine(LinkList La,LinkList Lb)的功能是:將元素呈遞減排列的兩個含頭結 點單鏈表合并為元素值呈遞增(或非遞減)方式排列的單鏈表,并返回合并所得單鏈表 的頭指針。例如,元素遞減排列的單鏈表 La 和 Lb 如圖 4-1 所示,合并所得的單鏈表如圖 4-2 所示。


圖 4-1  合并前的兩個鏈表示意圖

圖 4-2  合并后所得鏈表示意圖
設鏈表結點類型定義如下:

typedef  struct Node{
int data;
struct Node  *next;
}Node ,*LinkList;

【C 函數(shù)】
LinkList  Combine(LinkList   La ,LinkList   Lb)
{    //La 和 Lb 為含頭結點且元素呈遞減排列的單鏈表的頭指針
//函數(shù)返回值是將 La 和 Lb 合并所得單鏈表的頭指針
//且合并所得鏈表的元素值呈遞增(或非遞減)方式排列

(1)      Lc ,tp ,pa ,pb;;  //Lc 為結果鏈表的頭指針 ,其他為臨時指針

if  (!La)  return NULL;
pa  =  La->next;                  //pa 指向 La 鏈表的第一個元素結點

if  (!Lb)  return NULL;
pb  =  Lb->next;                               //pb 指向 Lb 鏈表的第一個元素結點

Lc  =  La;                                          //取 La  鏈表的頭結點為合并所得鏈表的頭結點
Lc->next  =  NULL;

while (    (2)    ){ //pa 和 pb 所指結點均存在(即兩個鏈表都沒有到達表尾)
//令tp指向 pa 和 pb 所指結點中的較大者
if (pa->data > pb->data) {
tp = pa;       pa = pa->next;
}
else{
tp = pb;     pb = pb->next;
}
(3)    =  Lc->next;       //tp 所指結點插入 Lc 鏈表的頭結點之后
Lc->next =  (4)     ;
}
tp =  (pa)? pa : pb;   //設置 tp 為剩余結點所形成鏈表的頭指針

//將剩余的結點合并入結果鏈表中, pa 作為臨時指針使用
while (tp) {
pa = tp->next;
tp->next = Lc->next;
Lc->next = tp;
(5)    ;
}

return Lc;
}

查看答案

相關試題