4 線性表的合併

2022-02-25 10:59:31 字數 1620 閱讀 1530

1

2#include 

<

stdio.h

>

3#include 

<

stdlib.h

>

4#include 

<

malloc.h

>56

#define

ok   1

7#define

error  0

8#define

true 1

9#define

false 0

1011

#define

elemtype int

12#define

maxsize  100      

/*此處的巨集定義常量表示線性表可能達到的最大長度*/

13typedef  

struct

14seqlist;

1819

void

merge(seqlist 

*la,  seqlist 

*lb,  seqlist 

*lc)

2030

else

3136

while

(i<=

la->

last)        

/*當表la有剩餘元素時,則將表la餘下的元素賦給表lc

*/37

42while

(j<=

lb->

last)         

/*當表lb有剩餘元素時,則將表lb餘下的元素賦給表lc

*/43

48lc

->

last=la

->

last+lb

->

last+1

;   

/*lc的長度等於兩個棧的長度+1

*/49}50

5152

void

main()

5367

6869lb=

(seqlist

*)malloc(

sizeof

(seqlist));

70printf(

"please input the stack b 's length:");

71scanf("%d

",&r);

72lb

->

last =r

-1;73

printf(

"please enter the numbers of stack b:\n");

74for(i=

0; i

<=

lb->

last; i++)

7578

79lc

=(seqlist

*)malloc(

sizeof

(seqlist));

80merge(la,lb,lc);

81printf(

"join the two stacks is:\n");

82for(i=

0; i

<=

lc->

last; i++)

8386}87

線性表的合併

1.有序 順序表的合併 typedef struct sqlist la lb均為遞增序列 void mergelist sqlist la,sqlist lb,sqlist lc while pa pa last while pb pb last view code 鍊錶的合併 typedef s...

線性表的順序儲存 及連個線性表的合併

題 兩個線性表的合併,若有相同元素選擇乙個就好 思路 先定義順序表的結構體 再定義結構體的物件 然後對物件進行吧增刪改查一系列的操作 對於合併,先從某個列表中選取元素,然後到另乙個列表中進行比較,如果在另乙個列表中不存在這個元素,則進行插入,否則不進行操作,把所有的元素都取出來到另一列表中去比較,採...

無序線性表合併(鍊錶)

分析 無序兩張表la,lb,需要遍歷lb查重再插入la尾 include include include include 包含exit標頭檔案 include include define ok 1 define error 0 define length a 5 define length b 3...