你可以写一段C语言功能是给字母排序的冒泡算法吗
时间: 2024-05-07 21:15:31 浏览: 59
当然可以,以下是一段C语言代码,实现了给字母排序的冒泡算法:
```c
#include <stdio.h>
#include <string.h>
void bubbleSort(char arr[], int n) {
int i, j;
char temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
char arr[] = "hello world";
int n = strlen(arr);
printf("Original string: %s\n", arr);
bubbleSort(arr, n);
printf("Sorted string: %s\n", arr);
return 0;
}
```
解释一下,这段代码首先定义了一个 `bubbleSort` 函数,它接收一个字符数组和数组的长度作为参数。在函数内部,使用两重循环进行冒泡排序,将相邻的字符进行比较,如果前一个字符大于后一个字符,就交换它们的位置。最终,字符数组就会按照字母顺序排列。
在 `main` 函数中,我们定义了一个字符数组 `arr`,然后调用 `bubbleSort` 函数对它进行排序。最后输出排序前后的字符串。
阅读全文