c语言,使用冒泡法,将字符串按阿斯克码从小到大排列
时间: 2023-11-24 22:05:11 浏览: 106
可以使用冒泡排序算法对字符串进行排序。冒泡排序算法的基本思想是相邻的元素两两比较,将大的元素交换到右边。这样一趟下来,最大的元素就被排在了最后面。然后再从头开始进行两两比较交换,直到倒数第二个元素。
下面是按照阿斯克码从小到大排列的字符串冒泡排序的C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
void bubble_sort(char *str)
{
int len = strlen(str);
int i, j;
char temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (str[j] > str[j + 1]) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main()
{
char str[] = "chitgpt";
bubble_sort(str);
printf("%s\n", str);
return 0;
}
```
在上述代码中,我们首先获取了字符串的长度,然后使用两重循环对字符串进行冒泡排序。内层循环比较相邻的两个字符,如果前一个字符的阿斯克码值大于后一个字符的阿斯克码值,则进行交换。经过一轮冒泡排序后,最大的字符被交换到了字符串的末尾。外层循环控制冒泡排序的次数,每次冒泡排序后,我们就可以排除一个最大的元素,直到只剩下一个元素为止。
最后,我们将排好序的字符串输出到屏幕上,并在程序结束时返回 0。
阅读全文