c++字符数组冒泡排序
时间: 2024-12-13 21:14:19 浏览: 7
在C++中,我们可以使用字符数组来存储字符串,并对其进行冒泡排序。冒泡排序是一种简单的比较排序算法,它重复遍历待排序的数组,每次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来,直到整个序列都有序。
以下是字符数组冒泡排序的基本步骤:
```cpp
#include <iostream>
using namespace std;
void bubbleSort(char 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]) { // 当前字符大于下一个字符
// 使用标准库函数 swap() 或者临时变量交换字符
// 示例:char temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp;
swap(arr[j], arr[j + 1]); // C++11及以后版本可用
}
}
}
}
int main() {
const int size = 5;
char str[size];
cout << "Enter " << size << " characters: ";
cin.getline(str, size); // 从控制台获取一行字符
bubbleSort(str, size); // 对字符数组进行排序
cout << "Sorted characters: ";
for (char c : str) {
cout << c << " ";
}
return 0;
}
```
阅读全文