有序集合是指集合中的元素有序排列。已知兩個有序集合a和b,現要求乙個新的有序集合c=a-b。
針對案例,要求:
(1)分析應採用何種資料結構;
(2)如何儲存並畫出儲存示意圖;
(3)設計演算法實現所要求的功能;
(4)編寫程式實現該演算法。
(1)順序表的初始化、查詢
(3)建立a,b兩個已知資料的有序順序表,從a中的第乙個資料開始迴圈查詢b中的資料,如果b中不存在則將a中的這個資料存入c中。
(4)#include
using namespace std;
#define maxsize 100
typedef int elemtype;
typedef struct sqlist;
int initlist(sqlist &lc)
void set(sqlist &la,sqlist &lb,sqlist &lc)
,b[5]=;
sqlist la, lb, lc;
initlist(la);
initlist(lb);
initlist(lc);
la.length=5;
lb.length=5;
for (i=0;i<5;i++)
la.elem[i]=a[i];
for (i=0;i<5;i++)
lb.elem[i]=b[i];
set(la,lb,lc);
return 0;
}
(C)順序表實現集合運算
1 用陣列a,b,c,e表示集合。假定a b e 輸入陣列a,b,e 全集 輸入資料時要求檢查資料是否重複 集合中的資料要求不重複 要求集合a,b是集合e的子集。2 兩個集合的並運算 把陣列a中各個元素先儲存在陣列c中。將陣列b中的元素逐一與陣列a中的元素進行比較,把不相同的元素新增到陣列c中,陣列...
順序表集合的交並差操作
1.用順序表表示集合,設計乙個演算法實現集合的求交集運算 void intersection sqlist a,sqlist b,sqlist c int i,j,k k記錄c中的元素個數 for i 0 i2.用順序表表示集合,設計乙個演算法實現集合的求並集運算 void union sqlist...
順序表實現並求集合並集
include using namespace std const int maxsize 100 template class seqlist 無參建構函式,建立乙個空的順序表 seqlist datatype a,int n 有參建構函式,建立乙個長度為n的順序表 seqlist 析構函式 in...