qsort函数字符串排序
时间: 2024-02-29 14:49:08 浏览: 141
以下是使用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
相关问题
怎么使用qsort函数对字符串进行排序
可以使用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字符串排序,你可以使用qsort函数和strcmp函数来实现。下面是一个示例代码:
```c
#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 *strs[] = {"hello", "world", "apple", "banana", "orange"};
int len = sizeof(strs) / sizeof(char *);
qsort(strs, len, sizeof(char *), cmp);
for (int i = 0; i < len; i++) {
printf("%s ", strs[i]);
}
printf("\n");
return 0;
}
```
这个程序会输出:apple banana hello orange world
在这个程序中,我们定义了一个字符串数组,然后使用qsort函数对它进行排序。cmp函数是用来比较两个字符串的大小的,它会被qsort函数调用。在cmp函数中,我们使用了strcmp函数来比较两个字符串的大小。
阅读全文