输入三个字符串,按由小到大的顺序输出,用指针的方法写
时间: 2024-10-11 13:11:17 浏览: 36
在使用指针的方法来处理这种排序需求时,可以采用经典的冒泡排序算法,并通过指针来交换字符串。以下是用C语言的一个简单示例:
```c
#include <stdio.h>
#include <string.h>
void swap(char **str1, char **str2) {
char *temp = *str1;
*str1 = *str2;
*str2 = temp;
}
void bubble_sort_strings(char **arr, int n) {
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - i - 1; ++j) {
if (strcmp(arr[j], arr[j + 1]) > 0) {
swap(&arr[j], &arr[j + 1]);
}
}
}
}
int main() {
char *strings[3] = {"ccc", "aaa", "bbb"};
int len = sizeof(strings) / sizeof(strings[0]);
bubble_sort_strings(strings, len);
printf("Sorted strings in ascending order:\n");
for (int i = 0; i < len; ++i) {
printf("%s ", strings[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,`bubble_sort_strings`函数接收一个指向字符串数组的指针以及数组长度,它内部使用了两个嵌套循环比较相邻的字符串并交换位置。`swap`函数则用于实际的字符串交换。
阅读全文