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

溫馨提示×

c語言如何刪除數組中的指定元素

小億
91
2024-10-26 23:36:31
欄目: 編程語言

在C語言中,可以使用memcpy()函數和free()函數來刪除數組中的指定元素。以下是一個示例:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void removeElement(int arr[], int n, int elem) {
    int i, j;
    for (i = 0, j = 0; i < n; i++) {
        if (arr[i] != elem) {
            arr[j++] = arr[i];
        }
    }
    for (; j < n - 1; j++) {
        arr[j] = arr[j + 1];
    }
    arr[--n] = '\0';
}

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

    printf("Original array: ");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    removeElement(arr, n, elem);

    printf("Array after removing %d: ", elem);
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

在這個示例中,我們定義了一個名為removeElement的函數,它接受一個整數數組、數組的長度和要刪除的元素作為參數。函數通過遍歷數組并將不等于指定元素的值復制到數組的前面,然后刪除數組末尾的元素來實現刪除指定元素的功能。

需要注意的是,這種方法并不會真正地重新分配內存來創建一個新的數組,而是在原數組上進行操作。因此,這種方法的時間復雜度為O(n),其中n為數組的長度。此外,這種方法還會改變數組中原有元素的相對順序。如果需要保留原有元素的相對順序,可以使用雙指針法來實現。

0
夏邑县| 沐川县| 额济纳旗| 沾益县| 南皮县| 凤翔县| 扶沟县| 中西区| 微山县| 秀山| 巩义市| 长治市| 华容县| 金昌市| 民县| 内黄县| 广汉市| 弥渡县| 房山区| 梨树县| 休宁县| 涟水县| 南靖县| 巴彦淖尔市| 额尔古纳市| 铅山县| 枣强县| 邯郸市| 乌恰县| 新兴县| 永新县| 元氏县| 大姚县| 营口市| 榆中县| 恩施市| 石柱| 蒙城县| 北流市| 黄骅市| 肥城市|