亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言怎么刪除數組中重復元素

小億
126
2024-03-01 17:12:21
欄目: 編程語言

刪除數組中重復元素的方法可以分為兩種:

  1. 使用額外的空間:
    • 創建一個新數組,遍歷原數組,將不重復的元素存入新數組。
    • 將新數組復制回原數組。
int removeDuplicates(int arr[], int n) {
    if (n == 0 || n == 1) {
        return n;
    }

    int temp[n];
    int j = 0;
    
    for (int i = 0; i < n - 1; i++) {
        if (arr[i] != arr[i + 1]) {
            temp[j++] = arr[i];
        }
    }

    temp[j++] = arr[n - 1];

    for (int i = 0; i < j; i++) {
        arr[i] = temp[i];
    }

    return j;
}
  1. 不使用額外的空間:
    • 使用兩個指針,一個指向當前元素,一個指向下一個不同的元素。
    • 遍歷原數組,如果當前元素和下一個元素不相同,則將下一個元素復制到當前元素的下一個位置。
int removeDuplicates(int arr[], int n) {
    if (n == 0 || n == 1) {
        return n;
    }

    int j = 0;

    for (int i = 0; i < n - 1; i++) {
        if (arr[i] != arr[i + 1]) {
            arr[j++] = arr[i];
        }
    }

    arr[j++] = arr[n - 1];

    return j;
}

這兩種方法都可以實現刪除數組中重復元素的功能,具體選擇哪種方法取決于具體情況和需求。

0
吐鲁番市| 石渠县| 梁山县| 藁城市| 房产| 林周县| 义马市| 永年县| 遵义县| 昌黎县| 桐城市| 津南区| 响水县| 华容县| 泽州县| 宁都县| 奈曼旗| 莱芜市| 射阳县| 灵寿县| 安多县| 宁明县| 宜黄县| 新巴尔虎左旗| 延安市| 中宁县| 林芝县| 阳信县| 壶关县| 三门峡市| 秦安县| 合江县| 康保县| 平武县| 乌苏市| 永定县| 迁安市| 张家港市| 贞丰县| 宣武区| 双鸭山市|