字符排序c语言中的比较函数

655Z技术栈 C/C++编程 2小时前 6

在C语言中,可以使用标准库函数qsort()来对字符数组进行排序,同时需要自定义一个比较函数来指定排序的规则。

比较函数的声明如下:

int compare(const void *a, const void *b);

比较函数的实现如下:

int compare(const void *a, const void *b) { return *(char*)a - *(char*)b; }

在比较函数中,参数ab都是void类型的指针,需要将其转换为char类型的指针,并取出其值进行比较。比如上面的比较函数就是按照字符的ASCII码值进行升序排序。

最后,将比较函数传递给qsort()函数进行排序:

char str[] = "hello"; int len = strlen(str); qsort(str, len, sizeof(char), compare);

这样就可以对字符数组str进行排序了。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”