冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地交换相邻两个元素的位置,使得每次遍历都能将最大(或最小)的元素“冒泡”到数组的末尾。下面是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[] = {24, 18, 38, 16, 43, 7};
int n = sizeof(arr) / sizeof(arr[0]);
cout << "排序前的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
bubbleSort(arr, n);
cout << "排序后的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
该代码通过两重循环实现冒泡排序,外层循环控制排序的轮数,内层循环对当前轮数的相邻元素进行比较和交换。每一轮循环,都会将当前轮数最大(或最小)的元素“冒泡”到数组的末尾。