6 2 兩個有序鍊錶序列的合併 15分

2021-10-02 15:42:20 字數 1539 閱讀 3212

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

list merge( list l1, list l2 );
其中list結構定義如下:

typedef struct node *ptrtonode;

struct node ;

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

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

#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()

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

3

1 3 5

52 4 6 8 10

1 2 3 4 5 6 8 10 

null

null

#include #include typedef int elementtype;

typedef struct node *ptrtonode;

struct node ;

typedef ptrtonode list;

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

void print( list l ); /* 細節在此不表;*/

list merge( list l1, list l2 );

int main()

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

list read()

r->next = null;

}return l;}

void print( list l )

}else

printf("\n");

}/* 請在這裡填寫答案 */

list merge( list l1, list l2 )

else

}if(p1)

r->next = p1;

if(p2)

r->next = p2;

l1->next = null;

l2->next = null;

return l;

}

2 11 兩個有序鍊錶序列的合併(15)

時間限制 500 ms 記憶體限制 80000 kb 長度限制 8000 b 判題程式 standard 已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的並集新非降序鍊錶s3。輸入格式說明 輸入分2行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 ...

兩個有序鍊錶序列的合併(15 分)

本題要求實現乙個函式,將兩個鍊錶表示的遞增整數序列合併為乙個非遞減的整數序列。題目 記錄一下學習的心得 題目要求交merg函式即可 include include typedef int elementtype typedef struct node ptrtonode struct node ty...

6 2 兩個有序鍊錶序列的合併 (14 分)

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