C語言集合怎么實(shí)現(xiàn)交集

小樊
95
2024-07-17 02:35:45
欄目: 編程語言

在C語言中,可以通過創(chuàng)建兩個(gè)集合并遍歷其中一個(gè)集合,檢查元素是否在另一個(gè)集合中來實(shí)現(xiàn)交集。

以下是一個(gè)簡單的示例代碼,實(shí)現(xiàn)了兩個(gè)集合的交集:

#include <stdio.h>

#define MAX_SIZE 100

void intersection(int set1[], int set2[], int size1, int size2) {
    int result[MAX_SIZE];
    int k = 0;

    for (int i = 0; i < size1; i++) {
        for (int j = 0; j < size2; j++) {
            if (set1[i] == set2[j]) {
                result[k] = set1[i];
                k++;
                break;
            }
        }
    }

    printf("Intersection of the two sets: ");
    for (int i = 0; i < k; i++) {
        printf("%d ", result[i]);
    }
}

int main() {
    int set1[] = {1, 2, 3, 4, 5};
    int set2[] = {3, 4, 5, 6, 7};
    int size1 = 5;
    int size2 = 5;

    intersection(set1, set2, size1, size2);

    return 0;
}

在上面的示例中,我們定義了兩個(gè)集合set1和set2,并分別為它們賦值。然后我們調(diào)用intersection函數(shù)來找到兩個(gè)集合的交集,并將結(jié)果打印出來。

輸出結(jié)果為:

Intersection of the two sets: 3 4 5

0