中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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

小億
140
2024-01-22 09:26:08
欄目: 編程語言

在C語言中,可以使用如下方法刪除數組中的重復元素:

  1. 首先,對數組中的元素進行排序,以便將重復元素放在一起。
  2. 創建一個新的數組,用于存放刪除重復元素后的數組。
  3. 遍歷排序后的數組,將第一個元素復制到新數組中。
  4. 遍歷排序后的數組中的其他元素,如果與新數組中的最后一個元素不相同,則將該元素復制到新數組中。
  5. 最后,新數組中存儲的就是刪除重復元素后的數組。

以下是一個示例代碼:

#include <stdio.h>

void removeDuplicates(int arr[], int n) {
    // 對數組進行排序
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }

    // 創建新數組,用于存放刪除重復元素后的數組
    int newArr[n];
    int j = 0;
  
    // 遍歷排序后的數組,將第一個元素復制到新數組中
    newArr[j++] = arr[0];

    // 遍歷排序后的數組中的其他元素,將不重復的元素復制到新數組中
    for (int i = 1; i < n; i++) {
        if (arr[i] != newArr[j - 1]) {
            newArr[j++] = arr[i];
        }
    }

    // 打印刪除重復元素后的數組
    printf("刪除重復元素后的數組為:\n");
    for (int i = 0; i < j; i++) {
        printf("%d ", newArr[i]);
    }
    printf("\n");
}

int main() {
    int arr[] = {1, 2, 3, 4, 4, 5, 6, 6, 6, 7};
    int n = sizeof(arr) / sizeof(arr[0]);

    removeDuplicates(arr, n);

    return 0;
}

運行以上代碼,輸出結果為:刪除重復元素后的數組為:1 2 3 4 5 6 7

0
洛宁县| 道孚县| 林州市| 吉安县| 博客| 峨眉山市| 无为县| 沐川县| 塔城市| 临沂市| 威宁| 尼勒克县| 黑河市| 松江区| 同江市| 安徽省| 浦江县| 赤城县| 本溪| 宾阳县| 东兴市| 乌拉特后旗| 涞水县| 西昌市| 禄劝| 乐清市| 靖西县| 通渭县| 山西省| 淮滨县| 平乐县| 剑阁县| 旬阳县| 辽宁省| 保德县| 涿鹿县| 沾益县| 彭山县| 古田县| 新疆| 连州市|