計算兩個集合的交集

2021-09-27 07:03:53 字數 838 閱讀 5939

#include#include#include#define number1 7

#define number2 5

void createcollect(int ,int);

void display(int ,int);

int main()

printf("集合1:");

display(collection1,number1);

printf("集合2:");

display(collection2,number2);

for(i = 0; i < number1;i++)

//判斷:此時存在兩種情況1) 當前集合1的元素與集合2的元素相同

//2)遍歷完了集合2的陣列後不存在相同的元素

if(collection1[i]==collection2[j])

} printf("集合1與集合2的交集為:\n");

display(collection3,label);

return 0;

}//隨機生成乙個不含重複元素的陣列

void createcollect(int num,int count)

if(randvalue==num[j])

break;

if(randvalue!=num[j]&&j==i-1)//當生成的隨機數與當前陣列最後一位不同並且下標相等時 }}

num[i]=randvalue;

}}//列印陣列

void display(int num,int count)

printf("\n");

}

C語言 計算兩個集合的交集

include include include define number1 7 define number2 5 void createcollect int int void display int int int main printf 集合1 display collection1,numb...

兩個有序集合求交集

方案一 暴力法,for for,時間複雜度o n n 當資料量很大時,不可取 方案二 拉鍊法 有序集合1 有序集合2 兩個指標指向首元素,比較元素的大小 1 如果相同,放入結果集,隨意移動乙個指標 2 否則,移動值較小的乙個指標,直到隊尾 這種方法的好處是 1 集合中的元素最多被比較一次,時間複雜度...

基於鍊錶的兩個集合的交集

描述 給定兩個遞增的整數集合a和b,分別用鍊錶表示集合a和b,求出a和b的交集,並存放在a中。要求空間複雜度為o 1 輸入多組資料,每組資料有三行,第一行為序列a和b的長度n和m,第二行為序列a的n個元素,第三行為序列b的m個元素 元素之間用空格分隔 n 0且m 0時輸入結束。輸出對於每組資料輸出一...