冒泡算法c++ 份文件并能降序升序
时间: 2023-08-11 09:02:31 浏览: 85
c++算法(冒泡,快排序)
以下是一个用C++实现的冒泡排序算法示例,可以根据需要进行升序或降序排序:
```c++
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n, bool isAscending) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if ((isAscending && arr[j] > arr[j+1]) || (!isAscending && arr[j] < arr[j+1])) {
swap(arr[j], arr[j+1]);
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Original array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
// 升序排序
bubbleSort(arr, n, true);
cout << "\nSorted array in ascending order: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
// 降序排序
bubbleSort(arr, n, false);
cout << "\nSorted array in descending order: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
在上述示例中,`bubbleSort`函数用于执行冒泡排序。`isAscending`参数用于指定排序的顺序,如果为`true`则进行升序排序,如果为`false`则进行降序排序。`main`函数中的示例数组`arr`用于测试排序算法,并输出排序结果。
阅读全文