小白C語言實現兩個有序鍊錶序列的合併

2021-10-03 23:40:21 字數 2278 閱讀 8832

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2合併後的新的非降序鍊錶s3。

輸入格式:

輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用−1表示序列的結尾(−1不屬於這個序列)。數字用空格間隔。

輸出格式:

在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格;若新鍊錶為空,輸出null。

輸入樣例:

1 3 5 -1

2 4 6 8 10 -1

輸出樣例:

1 2 3 4 5 6 8 10

小白看到題目第一反應是建立兩個鍊錶

建立第三個鍊錶來依次儲存資料

wa**:

#include

#include

typedef

struct node

node;

node*

merge

(node *p,node *q)

;int

main()

//帶有頭結點的尾插法建立第乙個鍊錶

node *head2 =

null

; head2 =

(node*

)malloc

(sizeof

(node));

head2->next =

null

; node*t2 = head2;

scanf

("%d"

,&x)

;while

(x!=-1

)/*輸入資料驗證鍊錶是否建立成功

node *s = head1->next;

node *h = head2->next;

while(s!=null)

printf("\n");

while(h!=null)

*/ node *l =

merge

(head1->next,head2->next)

;while

(l!=

null

)return0;

}node*

merge

(node *p,node *q)

else}if

(p==

null)}

else

}return head->next;

//是head->next而不是head,因為head是頭結點,沒有儲存資料;

}

應該注意格式和特殊情況

pta的格式是真的難受

ac**:

#include

#include

typedef

struct node

node;

node*

merge

(node *p,node *q)

;int

main()

//帶有頭結點的尾插法建立第乙個鍊錶

node *head2 =

null

; head2 =

(node*

)malloc

(sizeof

(node));

head2->next =

null

; node*t2 = head2;

scanf

("%d"

,&x)

;while

(x!=-1

)/*輸入資料驗證鍊錶是否建立成功

node *s = head1->next;

node *h = head2->next;

while(s!=null)

printf("\n");

while(h!=null)

*/ node *l =

merge

(head1->next,head2->next)

;int flag =0;

if(l==

null

)while

(l!=

null

)else

}return0;

}node*

merge

(node *p,node *q)

else}if

(p==

null)}

else

}return head->next;

//是head->next而不是head,因為head是頭結點,沒有儲存資料;

}

兩個有序鍊錶序列的合併(C語言)

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

兩個有序鍊錶序列的交集 c語言

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

合併兩個有序鍊錶序列

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