【双重指针】【指针数组】字符串排序对若干个字符串进行排序,按字典顺序升序排列,并输出
时间: 2024-01-11 22:48:44 浏览: 77
可以使用指针数组来对多个字符串进行排序。具体实现可以先将所有字符串存储到一个指针数组中,然后使用冒泡排序等算法对它们进行排序。以下是一个示例代码:
```
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
#define MAX_NUM 10
void bubbleSort(char **strArr, int n)
{
int i, j;
char *temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (strcmp(strArr[j], strArr[j+1]) > 0) {
temp = strArr[j];
strArr[j] = strArr[j+1];
strArr[j+1] = temp;
}
}
}
}
int main()
{
int n, i;
char *strArr[MAX_NUM];
char str[MAX_LEN];
printf("请输入字符串个数(不超过%d个):", MAX_NUM);
scanf("%d", &n);
printf("请输入字符串:\n");
for (i = 0; i < n; i++) {
scanf("%s", str);
strArr[i] = strdup(str);
}
bubbleSort(strArr, n);
printf("排序结果为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", strArr[i]);
}
return 0;
}
```
运行结果示例:
```
请输入字符串个数(不超过10个):4
请输入字符串:
hello
world
chitgpt
openai
排序结果为:
chitgpt
hello
openai
world
```
阅读全文