第四周專案3 求集合並集

2021-07-22 23:40:25 字數 3305 閱讀 5836

/*  

* 煙台大學計算機與控制工程學院  

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

* 問題及**

***:

list.h

[cpp]view plain

copy

#ifndef list_h_included

#define list_h_included

#define maxsize 100

typedef

intelemtype;          

//自定義資料型別

typedef

struct

list  

sqlist;  

void

createlist(sqlist *&l,elemtype a,

intn);    

//由a中的n個元素建立順序表

void

displist(sqlist *l);                          

//輸出線性表

intlistlength(sqlist *l);                         

//求順序表長度

bool

getelem(sqlist *l,

inti,elemtype &e);         

//求順序表中某個資料元素值

bool

listinsert(sqlist *&l,

inti,elemtype e);      

//插入資料元素

void

initlist(sqlist *&l);                         

//初始化線性表

void

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

//求兩集合並集

#endif // list_h_included

lxn.cpp

[cpp]view plain

copy

#include 

#include 

#include "list.h"

void

createlist(sqlist *&l,elemtype a,

intn)    

//由a中的n個元素建立順序表

void

displist(sqlist *l)                          

//輸出線性表

intlistlength(sqlist *l)                        

//求順序表長度

bool

getelem(sqlist *l,

inti,elemtype &e)        

//求順序表中某個資料元素值

intlocateelem(sqlist *l,elemtype e)             

//按元素值查詢順序表中元素

bool

listinsert(sqlist *&l,

inti,elemtype e)     

//插入資料元素

bool

listdelete(sqlist *&l,

inti,elemtype &e)     

//刪除資料元素

void

initlist(sqlist *&l)                        

//初始化線性表

void

destroylist(sqlist *&l)                     

//銷毀順序表

void

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

//求兩集合並集

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

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

}  main.cpp

[cpp]view plain

copy

#include 

#include 

#include "list.h"

intmain()    

程式截圖:

知識點總結:

專案3鍛鍊了我們對演算法庫的應用能力。

學習心得:

對於之前學習的知識要時常回顧一下。假設

有兩個集

合a和b

分別用兩

個線性表

la和l

b表示,

即線性表

中的資料

元素即為

集合中的

成員。設

計算法,

用函式u

nion

list

(lis

tla,

list

lb,l

ist&

lc)函

數實現該

演算法,求

乙個新的

集合c=

a∪b,

即將兩個

集合的並

集放**

性表lc

中。(參

考教材中

例2.2

)提示:

(1)除

了實現u

nnio

nlis

t函式外

,還需要

在mai

n函式中

設計**

,呼叫u

nion

list

進行測試

和演示;

(2)可

以充分利

用前面建

好的演算法

庫,在程

序頭部直

接加#i

nclu

dest.h

>即可

(工程中

最普遍的

方法,建

議採納)

;(3)

也可以將

實現演算法

中需要的

線性表的

基本運算

對應的函

數,與自

己設計的

所有程式

放在同一

個檔案中

第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...

第3周專案3 求集合並集

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