鍊錶的合併

2021-09-11 22:33:02 字數 1525 閱讀 7608

輸入格式

第一行:單鏈表a的元素個數

第二行:單鏈表a的各元素(非遞減),用空格分開

第三行:單鏈表b的元素個數

第四行:單鏈表b的各元素(非遞減),用空格分開

輸出格式

第一行:單鏈表a的元素列表

第二行:單鏈表b的元素列表

第三行:合併後單鏈表c的元素列表

輸入樣例

612 24 45 62 84 96

415 31 75 86

輸出樣例

list a:12 24 45 62 84 96

list b:15 31 75 86

list c:12 15 24 31 45 62 75 84 86 96

#include

#include

#define error 0

#define ok 1

#define elemtype int

typedef

int status;

typedef

struct lnode

lnode,

*linklist;

status listinsert_l

(linklist *l,elemtype e)if(

!p)return error;

s =(linklist)

malloc

(sizeof

(lnode));

// 生成新結點

s->data = e; s->next =

null

;

p->next = s;

return ok;

}// linstinsert_l

status listinit

(linklist *l)

status listload

(linklist *l)

printf

("\n");

return ok;

}status listmerge

(linklist *a,linklist *b,linklist *c)

else

}while

(a)while

(b)return ok;

}int

main()

scanf

("%d"

,&n)

;for

(i=0

;i)listmerge

(&a,

&b,&c)

;printf

("list a:");

listload

(&a)

;printf

("list b:");

listload

(&b)

;printf

("list c:");

listload

(&c)

;return0;

}

鍊錶的合併

兩個線性表a,b,均以單鏈表做儲存結構,編寫演算法將表a和表b合併成乙個按元素值遞增有序排列的線性表c,要求用原表的結點空間存放表c define null 0 include stdio.h include malloc.h typedef struct lnode lnode,linklist ...

鍊錶的合併

對於鍊錶的操作,還有幾個是比較常用的,比如 將兩個已排序的鍊錶合併成乙個長的排序鍊錶 在已排序的鍊錶中插入乙個元素 對乙個無序鍊錶根據給定的某個值,進行分割槽。現在,我們就來看看這三個問題。問題 如何將兩個排序鍊錶合併成乙個長排序鍊錶 分析 有兩個鍊錶curr1,curr2,構建乙個新的鍊錶 dum...

鍊錶的合併

include include typedef struct lnode list struct lnode list l struct lnode lnode list create pre next null return l void print list l while p printf n...