利用線性表中的順序結構簡單實現集合的交並補運算

2021-10-03 23:42:27 字數 1481 閱讀 2056

//利用順序表實現集合的運算

#include

#include

#include

#define maxsize 100

//最大元素個數設定為100個

using

namespace std;

typedef

struct

sqlist;

//分配記憶體

void

malloc_space

(sqlist &l)

//將元素e插入到表中位置i處

bool

insert_elem

(sqlist &l,

int i,

int e)

//刪除表中位置i處的元素

bool

delet_elem

(sqlist &l,

int i,

int&e)

//查詢表中某元素e的位置

intsearch_elem

(sqlist l,

int e)

//輸出表的內容

void

display_list

(sqlist l)

//氣泡排序,由小到大

void

bubble_list

(sqlist &l)}}

}//輸入表的內容

void

input_list

(sqlist &a)

}//集合的並集運算

void

union

(sqlist a,sqlist b)

}printf

("union:\n");

bubble_list

(a);

display_list

(a);

}//結合的交集運算

void

intersection

(sqlist a,sqlist b)

}printf

("intersection:\n");

if(c.listlength==0)

bubble_list

(c);

display_list

(c);

}//補集的運算,b需是a的子集

bool

complement

(sqlist a,sqlist b)

}for

(i=1

;i<=b.listlength;i++)}

printf

("complement:\n");

bubble_list

(a);

display_list

(a);

return

true;}

intmain()

程式還有許多可以改進的地方,因為簡化了部分地方,所以並不通用,可以通過需要修改**以達到目的。

線性表(順序結構實現)

背景 今天來複習 以陣列這種順序結構 實現的線性表 基本理論 線性表的定義以及實現的操作如下 實現 線性表介面,定義操作 public inte ce ilinearlistwhere t icomparable t this int index void clear void insert int...

順序結構線性表的實現

一 目的 掌握順序表的表示方法,儲存結構及其基本操作的實現。二 要求 建立一順序表,實現其基本操作 新建乙個順序表 判斷是否是空表 輸入表的長度 輸入線性表的各個資料元素的值 求當前表長 取某個位序上的資料元素 求某元素的前驅和後繼 刪除某個位置上的資料元素 求刪除後的表長 置空表 銷毀線性表。三 ...

線性表 線性表的順序儲存結構

線性表的順序儲存結構 線性結構是乙個資料元素的有序 次序 集。集合中必存在唯一的乙個 第一元素 集合中必存在唯一的乙個 最後元素 除最後元素外,均有唯一的後繼 除第一元素外,均有唯一的前驅。adt list 資料關係 r1 adt list 容易混的概念 引用符號 和引用型操作沒有關係 加工型操作 ...