單鏈表應有之求集合的交並集

2021-10-09 13:32:01 字數 1307 閱讀 9911

1.題目要求:

以字元的形式輸入集合a,集合b,求兩個集合的交集、並集。

2.題目解析

因為涉及到的資料型別是字元型,所以尤其要主要空格對輸入資料的影響。可以使用**getchar()**語句來「吃掉」空格。

3.交並集演算法思路

(1)並集:設乙個標誌位為0(建議往下看你就會明白為什麼設定乙個標誌位flag=0)先用迴圈語句將集合a中的元素都複製到集合c中,然後再在集合b中尋找在集合a中沒有出現過的元素,置標誌位為1,當標誌位為1時,說明在集合b中找到了在集合a中沒有的元素,然後依據尾插法插入到集合c中去。

(2)交集:與求並集相類似,利用雙迴圈在集合a中找到與集合b中的相等元素,如果元素相等則將元素依據尾插法插入到集合c中去。

4.**實現

/**

* 下面是單鏈表的應用,集合的交並集

*/#include

#include

#include

typedef

struct lnode

lnode,

*linklist;

//建立頭結點

void

initlist

(linklist *l)

(*l)

->next=

null;}

//尾插法建立鍊錶

void

creatlist_tail

(linklist *l)

r->next=

null;}

void

diplist

(linklist l)

}//集合的並運算

void

union

(linklist l1,linklist l2,linklist *l3)

for(p=l2->next;p!=

null

;p=p->next)}if

(flag==0)

//說明集合b中有集合a中沒有的元素,此時尾插法插入到集合a中

flag=0;

//重置標誌位

} r->next=

null;}

intinterlinkcollection

(linklist l1,linklist l2,linklist *l3)}}

r->next=

null

;return reg;

}int

main()

單鏈表在集合中的應用(交 並 差)

include using namespace std define maxsize 20 define true 1 define false 0 typedef bool status status是函式的型別,其值是函f數結果狀態 typedef char elemtype elemtype型...

線性表之單鏈表求集合並集

掌握以下內容 1 單鏈表的建立 2 將資料插入單鏈表 3 單鏈表合併 4 單鏈表去重 2020 10 20 typedef char elem typedef struct lnode lnode 將結構體命名為lnode int initlist lnode l l next null retur...

用單鏈表實現對集合的交,並,差的操作

我是乙個菜鳥本科生,第一次寫部落格,排版有些亂,和正在學習資料結構的小哥哥們一起交流分享。用單鏈表實現集合的判等,交,並,差,基本涉及到了單鏈表常用的一些操作,如建表,插入,刪除,遍歷,都不算太難。首先建表,在建表的過程中,將集合中的元素存入到了鍊錶中,單此時的鍊錶中的元素是無序的,在函式sort ...