最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言使用stdlib.h庫函數(shù)的二分查找和快速排序的實現(xiàn)代碼

 更新時間:2013年10月11日 09:42:46   作者:  
以下是對C語言使用stdlib.h庫函數(shù)的二分查找和快速排序的實現(xiàn)代碼進行了詳細的介紹,需要的朋友可以過來參考下。希望對大家有所幫助

快速排序:

復(fù)制代碼 代碼如下:

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

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

/**輸出數(shù)組元素
*\param arr:指向數(shù)組的指針
*\param len:數(shù)組元素的個數(shù)
*/
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]={"bac","bca","abc","acb","cba","cab"}; /* 定義二維字符數(shù)組*/
    char *key="bca";/* 要查找的字符串*/
    char *ptr=NULL; /* 字符指針*/
 // 輸出未排序時字符數(shù)組的內(nèi)容
    printf("before qsort :");
    print(arr,LENGTH(arr));
    /* 使用qsort對字符數(shù)組排序*/
    qsort((void *)arr,LENGTH(arr),sizeof(arr[0]),(int (*)(const void *,const void *))strcmp);
    /* 輸出排序后字符數(shù)組的內(nèi)容*/
    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;
}


二分查找:
復(fù)制代碼 代碼如下:

#include<stdlib.h>
#include<stdio.h>
#define ArrayLen(arr) (sizeof(arr) / sizeof(arr[0]))

int numarray[] = {123, 145, 512, 627, 800, 933};

int numeric (const int *p1, const int *p2)
{
    return(*p1 - *p2);
}
int* lookup(int key)
{//返回值是指向key的地址
    int *itemptr;
    // The cast of (int(*)(const void *,const void*)) is needed to avoid a type mismatch error at
 // compile time
    itemptr = (int *)bsearch(&key, numarray, ArrayLen(numarray), \
                             sizeof(int), (int(*)(const void *,const void *))numeric);
    return (itemptr);
}
int main(void)
{
 int *p = lookup(512);
 if(NULL != p)
  printf("找到的key是%d,", *p);

 printf("key的下標(biāo)是%d\n", (p - numarray));

    return 0;
}

相關(guān)文章

  • 詳解C語言中freopen()函數(shù)和fclose()函數(shù)的用法

    詳解C語言中freopen()函數(shù)和fclose()函數(shù)的用法

    這篇文章主要介紹了詳解C語言中freopen()函數(shù)和fclose()函數(shù)的用法,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • OpenCV獲取圖像中直線上的數(shù)據(jù)具體流程

    OpenCV獲取圖像中直線上的數(shù)據(jù)具體流程

    對圖像進行處理時,經(jīng)常會有這類需求:客戶想要提取出圖像中某條直線或者ROI區(qū)域內(nèi)的感興趣數(shù)據(jù),進行重點關(guān)注,怎么操作呢,下面小編通過實例代碼介紹下OpenCV獲取圖像中直線上的數(shù)據(jù),一起看看吧
    2021-11-11
  • C++將保存char、int 和double到txt文件中

    C++將保存char、int 和double到txt文件中

    這篇文章主要介紹了C++如何將保存char、int 和double到txt文件中,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • c++11封裝thread庫的方法示例

    c++11封裝thread庫的方法示例

    C++11 ,封裝了thread的多線程的類,這樣對多線程的使用更加方便。下面這篇文章主要給大家介紹了關(guān)于c++11封裝thread庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2019-01-01
  • 利用Qt實現(xiàn)仿QQ設(shè)置面板功能

    利用Qt實現(xiàn)仿QQ設(shè)置面板功能

    這篇文章主要為大家詳細介紹了如何利用Qt實現(xiàn)仿QQ設(shè)置面板功能,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2022-12-12
  • C++ Boost Chrono實現(xiàn)計時碼表流程詳解

    C++ Boost Chrono實現(xiàn)計時碼表流程詳解

    Boost是為C++語言標(biāo)準庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準庫的后備,是C++標(biāo)準化進程的開發(fā)引擎之一,是為C++語言標(biāo)準庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • c/c++ 標(biāo)準庫 bind 函數(shù)詳解

    c/c++ 標(biāo)準庫 bind 函數(shù)詳解

    bind是一組用于函數(shù)綁定的模板。在對某個函數(shù)進行綁定時,可以指定部分參數(shù)或全部參數(shù),也可以不指定任何參數(shù),還可以調(diào)整各個參數(shù)間的順序。這篇文章主要介紹了c/c++ 標(biāo)準庫 bind 函數(shù) ,需要的朋友可以參考下
    2018-09-09
  • C語言實現(xiàn)餐飲結(jié)賬管理系統(tǒng)

    C語言實現(xiàn)餐飲結(jié)賬管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)餐飲結(jié)賬管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • PTA刷題C語言編程順序顛倒輸出實現(xiàn)

    PTA刷題C語言編程順序顛倒輸出實現(xiàn)

    本篇文章是在刷PTA題目是遇到的一道題,給定一句話,要求將句中所有單詞順序顛倒輸出,本文來帶你解答,有需要的朋友可以借鑒參考下
    2021-09-09
  • C++全面細致講解復(fù)數(shù)類

    C++全面細致講解復(fù)數(shù)類

    本文章向大家介紹C++ 標(biāo)準庫中的復(fù)數(shù)類,主要包括C++ 標(biāo)準庫中的復(fù)數(shù)類使用實例、應(yīng)用技巧、基本知識點總結(jié)和需要注意事項,具有一定的參考價值,需要的朋友可以參考一下
    2022-06-06

最新評論

历史| 手机| 汕尾市| 无极县| 临湘市| 志丹县| 木兰县| 东阿县| 东至县| 张掖市| 西乡县| 屯昌县| 镇平县| 昌都县| 青阳县| 富民县| 佛山市| 大港区| 红原县| 肥乡县| 洛隆县| 榆树市| 彩票| 开封县| 锦州市| 北流市| 万荣县| 夹江县| 洱源县| 深泽县| 凤山市| 明光市| 太和县| 玉屏| 屏东市| 荔浦县| 明光市| 奈曼旗| 临沂市| 大埔区| 武宁县|