C++插入排序:定义固定大小数组并实现从大到小排序
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;
}
代码解读:
- 定义数组: 我们首先定义了一个名为
arr的静态数组,其大小为MAX_SIZE(这里设置为5)。 - 插入排序:
insert函数实现了插入排序算法。每次插入新元素时,它会找到合适的位置将元素插入,并将之前比它小的元素后移,以保持数组的排序顺序。 - 数组大小控制: 代码中使用
size变量来跟踪数组中实际存储的元素数量。当数组已满时,insert函数会输出提示信息,阻止 further 插入操作。
这段代码清晰地展示了如何在C++中定义一个固定大小的数组,并在每次插入整数时自动进行从大到小的排序。希望对你有所帮助!
原文地址: https://www.cveoy.top/t/topic/VmV 著作权归作者所有。请勿转载和采集!