温馨提示×

c语言怎么合并两个数组并去重

小亿
95
2023-11-28 20:26:51
栏目: 编程语言

可以使用循环遍历的方法来合并两个数组并去重。

具体步骤如下:

  1. 定义两个数组arr1和arr2,分别存储需要合并的两个数组。
  2. 定义一个新的数组result,用于存储合并后的结果。
  3. 遍历arr1数组,将其中的元素逐个添加到result数组中。
  4. 遍历arr2数组,对于其中的每个元素,判断是否已经存在于result数组中,若不存在则添加到result数组中。
  5. 合并完成后,result数组中即为合并并去重后的结果。

下面是使用C语言编写的示例代码:

#include <stdio.h>

int main() {
    int arr1[] = {1, 2, 3, 4};
    int arr2[] = {3, 4, 5, 6};
    int len1 = sizeof(arr1) / sizeof(arr1[0]);
    int len2 = sizeof(arr2) / sizeof(arr2[0]);
    int result[100];  // 假设合并后的数组最大长度为100
    int len = 0;  // 合并后的数组长度

    // 将arr1数组的元素添加到result数组中
    for (int i = 0; i < len1; i++) {
        result[len++] = arr1[i];
    }

    // 遍历arr2数组,将不重复的元素添加到result数组中
    for (int i = 0; i < len2; i++) {
        int exist = 0;  // 标记arr2当前元素是否已存在于result数组中
        for (int j = 0; j < len; j++) {
            if (arr2[i] == result[j]) {
                exist = 1;
                break;
            }
        }
        if (!exist) {
            result[len++] = arr2[i];
        }
    }

    // 输出合并并去重后的数组
    for (int i = 0; i < len; i++) {
        printf("%d ", result[i]);
    }
    printf("\n");

    return 0;
}

以上代码的输出结果为:1 2 3 4 5 6,表示合并并去重后的数组。

0