栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

C中的自然排序-“字符串数组,包含数字和字母”

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C中的自然排序-“字符串数组,包含数字和字母”

我假设您已经知道C标准库

qsort()
功能:

void qsort(void *base,size_t nel,size_t width,int (*compar)(const void *, const void *);

最后一个参数是一个 函数指针
,这意味着您可以将任何函数传递给它。

strcmp()
实际上,您可以使用,但是这样可以给您ASCIIbetical,并且您特别想要自然排序。

在这种情况下,您可以轻松编写一个:

#include <ctype.h>int natural(const char *a, const char *b){    if(isalpha(*a) && isalpha(*b))      {        // compare two letters      }    else      {        if(isalpha(*a))          { // compare a letter to a digit (or other non-letter)          }        else if(isalpha(*b))          { // compare a digit/non-letter to a letter          }        else          { // compare two digits/non-letters          }      }}

else
如果您很
return
早就可以清除某些s
,但是有一个基本结构。检查
ctype.h
像功能
isalpha()
(如果一个字符是字母的一部分)
isdigit()
isspace()
以及更多。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/385544.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号