91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C語言合并兩個數組并去重怎么實現

小億
98
2023-11-28 13:51:49
欄目: 編程語言

實現合并兩個數組并去重的方法有很多種,以下是一種常用的方法:

  1. 聲明一個新的數組,用于存放合并后的結果。
  2. 先將第一個數組中的元素逐個復制到新的數組中。
  3. 遍歷第二個數組,判斷每個元素是否在新的數組中已存在,若不存在則將其復制到新的數組中。
  4. 最后得到的新數組即為合并后去重的結果。

以下是一個示例代碼:

#include <stdio.h>

#define MAX_SIZE 100

void mergeAndRemoveDuplicates(int arr1[], int size1, int arr2[], int size2, int mergedArr[], int *mergedSize) {
    int i, j, k;
    
    // 復制第一個數組中的元素到新數組
    for (i = 0; i < size1; i++) {
        mergedArr[i] = arr1[i];
    }
    *mergedSize = size1; // 合并后的數組大小
    
    // 遍歷第二個數組
    for (i = 0; i < size2; i++) {
        int isDuplicate = 0;
        // 判斷當前元素是否已存在于新數組中
        for (j = 0; j < *mergedSize; j++) {
            if (arr2[i] == mergedArr[j]) {
                isDuplicate = 1;
                break;
            }
        }
        // 若不存在則將其復制到新數組中
        if (!isDuplicate) {
            mergedArr[*mergedSize] = arr2[i];
            (*mergedSize)++;
        }
    }
}

int main() {
    int arr1[] = {1, 2, 3, 4, 5};
    int size1 = sizeof(arr1) / sizeof(arr1[0]);
    
    int arr2[] = {4, 5, 6, 7, 8};
    int size2 = sizeof(arr2) / sizeof(arr2[0]);
    
    int mergedArr[MAX_SIZE];
    int mergedSize;
    
    mergeAndRemoveDuplicates(arr1, size1, arr2, size2, mergedArr, &mergedSize);
    
    printf("合并并去重后的數組:");
    for (int i = 0; i < mergedSize; i++) {
        printf("%d ", mergedArr[i]);
    }
    printf("\n");
    
    return 0;
}

運行結果:

合并并去重后的數組:1 2 3 4 5 6 7 8

0
甘谷县| 临汾市| 济阳县| 龙江县| 邓州市| 美姑县| 永嘉县| 隆子县| 施甸县| 吉木萨尔县| 伊宁县| 沁阳市| 武邑县| 牙克石市| 鹿邑县| 远安县| 衢州市| 铁岭市| 黑水县| 丰台区| 旬阳县| 句容市| 旬邑县| 石台县| 佛山市| 康乐县| 天台县| 望江县| 灵璧县| 读书| 余江县| 会昌县| 河池市| 江孜县| 湘乡市| 屏边| 南投县| 卢湾区| 玉林市| 青浦区| 梁河县|