C++插入排序:定义固定大小数组并实现从大到小排序

在C++中,如何定义一个固定大小的数组,并在每次插入整数时自动按照从大到小的顺序排序呢?

答案是:结合使用静态数组和插入排序算法!

以下是实现这一目标的C++代码示例:

#include <iostream>

const int MAX_SIZE = 5;

void insert(int arr[], int& size, int num) {
    if (size == MAX_SIZE) {
        std::cout << 'Array is full. Cannot insert more elements.' << std::endl;
        return;
    }

    int i = size - 1;
    while (i >= 0 && arr[i] < num) {
        arr[i + 1] = arr[i];  // 向后移动比num大的元素
        i--;
    }

    arr[i + 1] = num;  // 插入num
    size++;  // 更新数组大小
}

int main() {
    int size = 0;  // 数组大小
    int arr[MAX_SIZE];  // 静态数组

    insert(arr, size, 5);
    insert(arr, size, 3);
    insert(arr, size, 7);
    insert(arr, size, 1);
    insert(arr, size, 4);

    std::cout << 'Sorted Array: ';
    for (int i = 0; i < size; i++) {
        std::cout << arr[i] << ' ';
    }
    std::cout << std::endl;

    return 0;
}

代码解读:

  1. 定义数组: 我们首先定义了一个名为 arr 的静态数组,其大小为 MAX_SIZE (这里设置为5)。
  2. 插入排序: insert 函数实现了插入排序算法。每次插入新元素时,它会找到合适的位置将元素插入,并将之前比它小的元素后移,以保持数组的排序顺序。
  3. 数组大小控制: 代码中使用 size 变量来跟踪数组中实际存储的元素数量。当数组已满时,insert 函数会输出提示信息,阻止 further 插入操作。

这段代码清晰地展示了如何在C++中定义一个固定大小的数组,并在每次插入整数时自动进行从大到小的排序。希望对你有所帮助!

C++插入排序:定义固定大小数组并实现从大到小排序

原文地址: https://www.cveoy.top/t/topic/VmV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录