合併兩個有序鍊錶序列

2021-09-12 22:30:55 字數 986 閱讀 1317

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

list merge( list l1, list l2 );

其中list結構定義如下:typedef struct node *ptrtonode;

struct node ;

typedef ptrtonode list; / 定義單鏈表型別 */

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

#include

#include

typedef int elementtype;

typedef struct node ptrtonode;

struct node ;

typedef ptrtonode list;

list read(); / 細節在此不表 /

void print( list l ); / 細節在此不表;空煉表將輸出null /

list merge( list l1, list l2 );

int main()

/ 你的**將被嵌在這裡 */

開始寫的時候一直有段錯誤,後來才發現需要給l開闢一塊空間,如果沒開闢的話是無法返回帶頭結點的煉表頭指標;其次的話「.」和「->」的區別在於前者乙個記錄資料而後者是乙個指標變數。

\\我的第乙個部落格就要誕生啦!

list merge( list l1, list l2 )

else

} pc->next=pa?pa:pb;

l1->next=null;

l2->next=null;

return l;

}

兩個有序鍊錶序列的合併

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

兩個有序鍊錶序列的合併

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

兩個有序鍊錶序列的合併

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