• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C语言使用stdlib.h库函数的二分查找和快速排序的实现代码

c语言 搞代码 4年前 (2022-01-06) 21次浏览 已收录 0个评论

以下是对C语言使用stdlib.h库函数的二分查找和快速排序的实现代码进行了详细的介绍,需要的朋友可以过来参考下。希望对大家有所帮助

快速排序:

代码如下:
#include
#include
#include

#define LENGTH(x) sizeof(x)/sizeof(x[0])

/**输出数组元素
*\param arr:指向数组的指针
*\param len:数组元素的个数
*/
void print(char (*arr)[10],int len)
{
    int i;
    for (i=0;i<len;i++)
    {
        printf(“%s “,arr[i]);
    }
    printf(“\n”);
}

int main()
{
    char arr[][10]={“来源gao@daima#com搞(%代@#码@网bac”,”bca”,”abc”,”acb”,”cba”,”cab”}; /* 定义二维字符数组*/
    char *key=”bca”;/* 要查找的字符串*/
    char *ptr=NULL; /* 字符指针*/
 // 输出未排序时字符数组的内容
    printf(“before qsort :”);
    print(arr,LENGTH(arr));
    /* 使用qsort对字符数组排序*/
    qsort((void *)arr,LENGTH(arr),sizeof(arr[0]),(int (*)(const void *,const void *))strcmp);
    /* 输出排序后字符数组的内容*/
    printf(“after qsort :”);
    print(arr,LENGTH(arr));
    /* 采用二分查找查找指定字符*/
    ptr=(char *)bsearch(key,arr,LENGTH(arr),sizeof(arr[0]),(int (*)(const void *,const void *))strcmp);
    if(ptr)
    {
        /* 找到*/
        printf(“%s is in the array\n”,key);
    }
    else/* 没找到*/
    {
        printf(“%s isn’t in the array\n”,key);
    }
    return 0;
}

以上就是C语言使用stdlib.h库函数的二分查找和快速排序的实现代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C语言使用stdlib.h库函数的二分查找和快速排序的实现代码
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址