帮我写一个c++的冒泡排序
时间: 2023-08-19 16:34:45 浏览: 49
当然可以,下面是一个简单的 C++ 冒泡排序的实现示例:
```c++
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换 arr[j] 和 arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = { 64, 34, 25, 12, 22, 11, 90 };
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
cout << "排序后的数组: \n";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
在这个示例中,我们使用了两个嵌套的 for 循环来实现冒泡排序。外层循环控制排序轮数,内层循环则用于比较相邻的元素,如果它们的顺序不正确,则交换它们。这样,每轮排序都会将当前未排序的最大元素移到数组末尾,最终实现整个数组的排序。