c++指針怎么實(shí)現(xiàn)數(shù)組元素排序

c++
小億
131
2024-03-16 12:48:34

在C++中,可以通過(guò)指針來(lái)實(shí)現(xiàn)數(shù)組元素的排序。以下是一種使用指針的方法來(lái)對(duì)數(shù)組進(jìn)行排序的示例代碼:

#include <iostream>

void bubbleSort(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)) {
                // 交換兩個(gè)元素的值
                int temp = *(arr + j);
                *(arr + j) = *(arr + j + 1);
                *(arr + j + 1) = temp;
            }
        }
    }
}

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

    std::cout << "Before sorting:" << std::endl;
    for (int i = 0; i < n; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    bubbleSort(arr, n);

    std::cout << "After sorting:" << std::endl;
    for (int i = 0; i < n; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的代碼中,首先定義了一個(gè)bubbleSort函數(shù)來(lái)進(jìn)行冒泡排序。在排序過(guò)程中,通過(guò)指針arr來(lái)訪問(wèn)數(shù)組元素的值,然后進(jìn)行比較和交換操作。最后在main函數(shù)中調(diào)用bubbleSort函數(shù)對(duì)數(shù)組進(jìn)行排序并輸出結(jié)果。

這是一種使用指針的方法來(lái)對(duì)數(shù)組元素進(jìn)行排序,當(dāng)然還有其他排序算法和方法可以實(shí)現(xiàn)類(lèi)似的功能。

0