运用数组指针字符串排序
时间: 2023-08-31 11:09:33 浏览: 102
要对一个字符串数组进行排序,可以使用指针数组,将每个字符串的地址存储在指针数组中,然后对指针数组进行排序。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void sort_strings(char *strings[], int n);
int main() {
char *strings[] = {"apple", "banana", "orange", "grape", "pear"};
int n = sizeof(strings) / sizeof(char *);
sort_strings(strings, n);
for (int i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
void sort_strings(char *strings[], int n) {
char *temp;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
temp = strings[i];
strings[i] = strings[j];
strings[j] = temp;
}
}
}
}
```
这个程序中使用了一个指针数组 `strings`,它存储了每个字符串的地址。`n` 变量表示字符串数组中的元素个数。`sort_strings` 函数使用冒泡排序对指针数组进行排序,排序的依据是字符串的字典序。最后,主函数中遍历排序后的指针数组,输出每个字符串。
阅读全文