把一串数组自定义排序
时间: 2024-10-23 20:00:53 浏览: 11
在C++中,对于一串数组(通常是动态数组或指针指向的一维数组)进行自定义排序,你需要定义一个比较函数(也称为谓词),这个函数告诉标准库如何判断元素的大小。这里以冒泡排序为例,展示如何对整数数组进行降序排序:
```cpp
#include <iostream>
#include <algorithm>
// 定义自定义比较函数,用于降序排序
bool customCompare(int a, int b) {
return a > b;
}
void customSort(int arr[], int size) {
for (int i = 0; i < size - 1; ++i) {
for (int j = 0; j < size - 1 - i; ++j) {
if (customCompare(arr[j], arr[j + 1])) {
// 交换arr[j]和arr[j+1]
std::swap(arr[j], arr[j + 1]);
}
}
}
}
int main() {
int numbers[] = {5, 2, 9, 1, 7, 4};
int n = sizeof(numbers) / sizeof(numbers[0]);
customSort(numbers, n);
std::cout << "Sorted array in descending order:\n";
for (int num : numbers) {
std::cout << num << " ";
}
return 0;
}
```
阅读全文