專案3 求集合並集

2021-08-08 11:51:36 字數 3390 閱讀 7683

/*    

* all right reserved.    

* 檔名稱:creat2.cpp    

* 作    者: 張延飛   

* 完成日期:2023年9月17日    

* 版 本 號:v1.9     

*    

*問題描述:假設有兩個集合 a 和 b 分別用兩個線性表 la 和 lb 表示,即線性表中的資料元素即為 

集合中的成員。設計演算法,用函式unionlist(list la, list lb, list &lc )函式實現該 

*輸入描述:各個集合   

*程式輸出:合併後的集合  */

main.cpp

[cpp]view plain

copy

#include "h.h"

intmain()  

;  createlist(sq_a, a, 6);  

printf("la: "

);  

displist(sq_a);  

elemtype b[6]= ;  

createlist(sq_b, b, 5);  

printf("lb: "

);  

displist(sq_b);  

unionlist(sq_a, sq_b, sq_c);  

printf("lc: "

);  

displist(sq_c);  

return

0;  

}  

s.cpp

[cpp]view plain

copy

#include "h.h"

//求並集

void

unionlist(sqlist *la, sqlist *lb, sqlist *&lc)  

lena=listlength(la);         //求線性表la的長度

for(i=1; i<=listlength(lb); i++)  

}  //用陣列建立線性表

void

createlist(sqlist *&l, elemtype a, 

intn)  

//初始化線性表initlist(l)

void

initlist(sqlist *&l)   

//引用型指標

//銷毀線性表destroylist(l)

void

destroylist(sqlist *&l)  

//判定是否為空表listempty(l)

bool

listempty(sqlist *l)  

//求線性表的長度listlength(l)

intlistlength(sqlist *l)  

//輸出線性表displist(l)

void

displist(sqlist *l)  

//求某個資料元素值getelem(l,i,e)

bool

getelem(sqlist *l,

inti,elemtype &e)  

//按元素值查詢locateelem(l,e)

intlocateelem(sqlist *l, elemtype e)  

//插入資料元素listinsert(l,i,e)

bool

listinsert(sqlist *&l,

inti,elemtype e)  

//刪除資料元素listdelete(l,i,e)

bool

listdelete(sqlist *&l,

inti,elemtype &e)    

h.h[cpp]view plain

copy

#ifndef list_h_included

#define list_h_included

#include

#include

#include

#define maxsize 50

typedef

intelemtype;  

typedef

struct

sqlist;  

void

unionlist(sqlist *la, sqlist *lb, sqlist *&lc);  

void

createlist(sqlist *&l, elemtype a, 

intn);

//用陣列建立線性表

void

initlist(sqlist *&l);

//初始化線性表initlist(l)

void

destroylist(sqlist *&l);

//銷毀線性表destroylist(l)

bool

listempty(sqlist *l);

//判定是否為空表listempty(l)

intlocateelem(sqlist *l, elemtype e);

//按元素值查詢locateelem(l,e)

intlistlength(sqlist *l);

//求線性表的長度listlength(l)

void

displist(sqlist *l);

//輸出線性表displist(l)

bool

getelem(sqlist *l,

inti,elemtype &e);

//求某個資料元素值getelem(l,i,e)

intlocateelem(sqlist *l, elemtype e);

//按元素值查詢locateelem(l,e)

bool

listinsert(sqlist *&l,

inti,elemtype e);

//插入資料元素listinsert(l,i,e)

bool

listdelete(sqlist *&l,

inti,elemtype &e);

//刪除資料元素listdelete(l,i,e)#endif // list_h_included

#endif

執行結果:

知識點總結:

利用順序表得基本運算以及順序表中不包含相同元素這兩個知識點完成

學習心得:

一開始我用程式的各個檔案放在乙個工程中,但最後老是出現錯誤,就直接用乙個程式完成了,也是利用上乙個專案總結的順序表方便了好多,以後的學習路上還是要多實踐,多多總結!!

專案三 求集合並集

問題及 2015,煙台大學計算機與控制工程學院 完成日期 2015年9月17日 問題描述 假設有兩個集合 a 和 b 分別用兩個線性表 la 和 lb 表示,即線性表中的資料元素即為集合中的成員。設計演算法,用函式unionlist list la,list lb,list lc 函式實現該演算法,...

第3周專案3 求集合並集

問題 檔名稱 專案3.cbp 作 者 王聰 完成日期 2015年9月17日 版 本 號 v1.0 問題描述 假設有兩個集合 a 和 b 分別用兩個線性表 la 和 lb 表示,即線性表中的資料元素即為 集合中的成員。設計演算法,用函式unionlist list la,list lb,list lc...

第3周 專案3 求集合並集

檔名稱 1.pp 完成日期 2015年9月18日 問題描述 求集合並集 include include define maxsize 50 typedef int elemtype typedef struct sqlist void createlist sqlist l,elemtype a,i...