c語言求鍊錶A和鍊錶B的並集 10

2021-09-17 21:59:15 字數 869 閱讀 6667

之前我考慮到,如果用這種測試用例

a: 1 2 3 4 5 6

b: 1 3 8 9

如果對比2和3發現小於,則將2插入進去,此時會和後面的3衝突。其實我這種考慮是多餘的,它不像交集,我們在每次比較的時候,如果a比b的小的話,就會把a指標往後移動一位,接著比較3和3.

哎,其實我感覺我的每乙個測試用例都不夠,自己的測試用例寫的太不好了,導致程式健壯性不是很強,往往想到乙個點,又回來修改程式。。。

**:

#include#include//這裡要利用a b原有空間 所以就可以損壞a b兩個鍊錶 且不能建立新的結點了

//這是這一題跟上一題最大的不同

typedef struct node

node;

typedef struct list

list;

void init_list(list* l)

}void merge(list* l1,list l2)

else if(p->data > q->data)

else

} //將最後乙個元素歸到鍊錶中

C語言 鍊錶並集與歸併

測試用例 a b 輸出結果為兩個鍊錶la與lc,其中la表示a與b的並集,lc表示a與b的歸併於排序。include stdio.h include stdlib.h include malloc.h define true 1 define false 0 define ok 1 define e...

B站C語言 鍊錶

靜態鍊錶 includetypedef struct teacher teacher int main void 動態建立乙個鍊錶 建立乙個表頭表示整個鍊錶 建立鍊錶 建立乙個表頭表示整個鍊錶 建立結點 插入結點 刪除結點 列印遍歷鍊錶 測試 include includestruct node s...

c語言鍊錶 鍊錶

在儲存一大波數的時候,我們通常使用陣列,但有時候陣列顯得不夠靈活,比如有一串已經從小到大排序好的數 2 3 5 8 9 10 18 26 32 現在需要往這串數中插入6使其得到的新序列仍符合從小到大排列。如果我們使用陣列來實現這一操作,則需要將8和8後面的數字都依次往後挪一位,如果你覺得這幾個數不算...