怎么使用qsort函数对字符串进行排序
时间: 2023-03-27 10:00:36 浏览: 120
可以使用qsort函数对字符串进行排序,需要先定义一个比较函数,然后将字符串数组和字符串长度作为参数传入qsort函数中。比较函数可以使用strcmp函数进行比较,具体实现可以参考以下代码:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp(const void *a, const void *b) {
return strcmp(*(const char **)a, *(const char **)b);
}
int main() {
char *str[] = {"hello", "world", "apple", "banana", "cat"};
int len = sizeof(str) / sizeof(str[]);
qsort(str, len, sizeof(str[]), cmp);
for (int i = ; i < len; i++) {
printf("%s ", str[i]);
}
return ;
}
```
输出结果为:apple banana cat hello world
相关问题
qsort函数字符串排序
以下是使用qsort函数对字符串进行排序的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int cmp_string(const void* elem1, const void* elem2) {
return strcmp(*(char**)elem1, *(char**)elem2);
}
int main() {
char* arr[] = {"banana", "apple", "orange", "grape"};
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
qsort(arr, sz, sizeof(arr[0]), cmp_string);
for (i = 0; i < sz; i++) {
printf("%s ", arr[i]);
}
return 0;
}
```
输出结果为:apple banana grape orange
怎么使用sort函数对字符串进行排序
可以使用sort函数对字符串进行排序,具体方法是将字符串转换为字符数组,然后使用sort函数对字符数组进行排序,最后再将排序后的字符数组转换回字符串即可。例如:
```c
#include <stdio.h>
#include <string.h>
int cmp(const void *a, const void *b) {
return *(char*)a - *(char*)b;
}
int main() {
char str[] = "hello world";
int len = strlen(str);
qsort(str, len, sizeof(char), cmp);
printf("%s\n", str);
return ;
}
```
这段代码将字符串"hello world"转换为字符数组进行排序,最后输出结果为" dehllloorw"。
阅读全文