PTA 習題2 5 兩個有序鍊錶序列的合併

2021-10-04 15:19:14 字數 736 閱讀 1553

習題2.5 兩個有序鍊錶序列的合併

題目要求:

本題要求實現乙個函式,將兩個鍊錶表示的遞增整數序列合併為乙個非遞減的整數序列。

介面:list merge( list l1, list l2 );

l1和l2是給定的帶頭結點的單鏈表,其結點儲存的資料是遞增有序的;函式merge要將l1和l2合併為乙個非遞減的整數序列。應直接使用原序列中的結點,返回歸併後的帶頭結點的煉表頭指標。

**如下:

list merge

( list l1, list l2 )

else}if

(p1)

if(p2)

l1->next=

null

; l2->next=

null

;return head;

}

本題思路:

1、**注意審題!!!!**最開始我沒有仔細看main函式**,就沒有另起乙個指標做鍊錶,而是直接在l1上合併,結果怎麼試都錯誤,後邊在網上看到大家用p3做可能稍微簡單些,但是最後少了這兩句話:l1->next=null; l2->next=null;又在給我報錯,最後才看到在main函式中他寫了:print(l);print(l1);print(l2);。加上之後返回的正確。

pta 兩個有序鍊錶序列的交集

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入格式 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。輸出格式 在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸...

PTA 兩個有序鍊錶序列的合併

本題要求實現乙個函式,將兩個鍊錶表示的遞增整數序列合併為乙個非遞減的整數序列。函式介面定義 list merge list l1,list l2 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list...

pta 兩個有序鍊錶序列的交集

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入格式 輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。輸出格式 在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸...