n个字符串排序(指针数组实现)
时间: 2023-10-10 15:14:53 浏览: 277
字符串排序算法比较(C语言)
要对n个字符串进行排序,可以使用指针数组实现。首先,将所有字符串的指针存储在一个数组中。然后,使用冒泡排序或者快速排序等算法对指针数组进行排序,根据字符串的大小比较排序。
以下是使用指针数组实现字符串排序的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
void sortStrings(char* strings[], int n) {
char* temp;
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (strcmp(strings[j], strings[j+1]) > 0) {
temp = strings[j];
strings[j] = strings[j+1];
strings[j+1] = temp;
}
}
}
}
int main() {
int n, i;
char* strings[MAX_LENGTH];
printf("Enter the number of strings: ");
scanf("%d", &n);
printf("Enter %d strings:\n", n);
for (i = 0; i < n; i++) {
strings[i] = malloc(MAX_LENGTH * sizeof(char));
scanf("%s", strings[i]);
}
sortStrings(strings, n);
printf("Sorted strings:\n");
for (i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
for (i = 0; i < n; i++) {
free(strings[i]);
}
return 0;
}
```
请注意,上述示例代码使用冒泡排序对字符串进行排序。您还可以选择其他排序算法,如快速排序或归并排序。
阅读全文