輸入格式
第一行:單鏈表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...