用c语言写一个函数 将一个字符串列表指针中每个成员按ASCII生序排列,生成新的字符串列表指针
时间: 2023-08-11 15:05:03 浏览: 73
用c语言给字符串排序
可以编写一个函数来实现对字符串列表指针进行排序。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STR_LEN 100
#define MAX_STR_NUM 10
// 比较函数,按照ASCII码从小到大排序
int cmp(const void* a, const void* b) {
const char* s1 = *(const char**)a;
const char* s2 = *(const char**)b;
return strcmp(s1, s2);
}
// 排序函数
void sort_str_list(char** str_list, int str_num) {
// 排序
qsort(str_list, str_num, sizeof(char*), cmp);
}
int main() {
char* str_list[MAX_STR_NUM] = {
"hello",
"world",
"apple",
"banana",
"orange",
"cherry",
"dog",
"cat",
"bird",
"fish"
};
int str_num = sizeof(str_list) / sizeof(char*);
// 排序
sort_str_list(str_list, str_num);
// 输出排序后的结果
for (int i = 0; i < str_num; i++) {
printf("%s\n", str_list[i]);
}
return 0;
}
```
以上代码中,`sort_str_list`函数用来实现对字符串列表指针进行排序,调用了之前实现的`cmp`函数和C标准库中的`qsort`函数。在`main`函数中,调用了`sort_str_list`函数来进行排序,并输出排序后的结果。
阅读全文