编写一个函数,形参为指针类型,函数实现功能为使用选择排序将一维整型数组的n个数据进行降序排列。
时间: 2025-01-04 08:42:25 浏览: 9
编写一个使用选择排序算法对一维整型数组进行降序排列的函数,可以按照以下步骤完成:
```c++
void selectionSort(int* arr, int n) {
for (int i = 0; i < n - 1; i++) { // 遍历整个数组
int maxIndex = i; // 初始化最大值索引为当前元素
for (int j = i + 1; j < n; j++) { // 查找剩余部分的最大元素
if (arr[j] > arr[maxIndex]) {
maxIndex = j;
}
}
// 如果找到的最大元素不是当前位置,交换
if (maxIndex != i) {
int temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
}
// 调用函数示例
int main() {
int nums[] = {4, 2, 9, 6, 1};
int n = sizeof(nums) / sizeof(nums[0]);
selectionSort(nums, n);
// 输出降序排列后的数组
for (int i = 0; i < n; i++) {
std::cout << nums[i] << " ";
}
return 0;
}
```
这个`selectionSort`函数接受一个整型数组的地址`arr`和数组长度`n`作为参数。它通过两层循环遍历数组,每次内循环找出剩余部分的最大值,并将其与当前位置交换,直到整个数组按降序排列。
阅读全文