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

查找算法之二分查找的C++實現(xiàn)

 更新時間:2018年12月14日 08:53:30   作者:Struggler09  
今天小編就為大家分享一篇關(guān)于查找算法之二分查找的C++實現(xiàn),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

二分查找

二分查找算法,說白了就是在有序的數(shù)組里面給予一個存在數(shù)組里面的值key,然后將其先和數(shù)組中間的比較,如果key大于中間值,進行下一次mid后面的比較,直到找到相等的,就可以得到它的位置。

前提:線性表中的記錄必須是關(guān)鍵字有序(通常從小到大),線性表必須采用順序存儲。
基本思想:取中間記錄作為比較對象,若給定值與中間記錄的關(guān)鍵字相等,則查找成功;若給定值小于中間記錄的關(guān)鍵字,則在中間記錄的左半?yún)^(qū)繼續(xù)查找;否則,在右半?yún)^(qū)查找。不斷重復,直到查找成功或查找失敗為止。

#include<iostream>
#include<stdio.h> 
#define N 10
using namespace std;
int main()
{
int a[N],front,end,mid,i,x;
cout<<"請輸入已經(jīng)排好的序列10個:"<<endl;
for(i=0;i<N;i++)
{
cin>>a[i];
}
cout<<"請輸入要查詢的數(shù)字x"<<endl;
cin>>x;
front=0;
end=N-1;
mid=(front+end)/2;
while(front<end&&a[mid]!=x)
{
if(a[mid]>x) end=mid-1;
if(a[mid]<x) front=mid+1;
mid=(front+end)/2;
 }
 if(a[mid]!=x)
 {
 printf("找不到該數(shù)字!");
}
else
{
printf("找到了,該數(shù)字在第%d位置",mid+1);
 } 
return 0;
}

后記:

查找和排序都是在程序設計中經(jīng)常用到的算法,查找相對而言較為簡單,不外乎順序查找、二分查找、哈希表查找和二叉排序樹查找。
在面試的時候,不管是用循環(huán)還是用遞歸,面試官都期待應聘者能夠信手拈來寫出完整的二分查找代碼,否則可能連繼續(xù)面試的興趣都沒有。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • C語言基礎 原碼、反碼、補碼和移碼詳解

    C語言基礎 原碼、反碼、補碼和移碼詳解

    這篇文章主要介紹了C語言基礎 原碼、反碼、補碼和移碼詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C 創(chuàng)建鏈表并將信息存儲在二進制文件中讀取的實例代碼

    C 創(chuàng)建鏈表并將信息存儲在二進制文件中讀取的實例代碼

    C 創(chuàng)建鏈表并將信息存儲在二進制文件中讀取的實例代碼,需要的朋友可以參考一下
    2013-03-03
  • C++鏈表倒序?qū)崿F(xiàn)方法

    C++鏈表倒序?qū)崿F(xiàn)方法

    這篇文章主要介紹了C++鏈表倒序?qū)崿F(xiàn)方法,是一個很經(jīng)典的C++鏈表操作實例,需要的朋友可以參考下
    2014-08-08
  • 基于C語言實現(xiàn)簡單五子棋游戲

    基于C語言實現(xiàn)簡單五子棋游戲

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++制作DLL文件的方法詳解

    C++制作DLL文件的方法詳解

    本文主要介紹如何制作DLL,將代碼類中的方法以接口的形式暴露出來給exe程序使用。會涉及類廠創(chuàng)建方法實例、聲明DLL接口、.def文件的使用等,感興趣的可以了解一下
    2023-04-04
  • 基于C++17實現(xiàn)的手寫線程池

    基于C++17實現(xiàn)的手寫線程池

    本文主要介紹了基于C++17實現(xiàn)的手寫線程池,自己實現(xiàn)了Any類,Semaphore類以及Result類的開發(fā),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • C語言復數(shù)的加減及輸出結(jié)構(gòu)體

    C語言復數(shù)的加減及輸出結(jié)構(gòu)體

    大家好,本篇文章主要講的是C語言復數(shù)的加減及輸出結(jié)構(gòu)體,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • C語言順序表的實現(xiàn)代碼

    C語言順序表的實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)順序表的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Qt實現(xiàn)Flappy Bird游戲

    Qt實現(xiàn)Flappy Bird游戲

    這篇文章主要為大家詳細介紹了Qt實現(xiàn)Flappy Bird游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++設計模式之模板方法模式

    C++設計模式之模板方法模式

    這篇文章主要介紹了C++設計模式之模板方法模式,本文講解了什么是模板方法模式、模板方法模式的UML類圖、模板方法模式的使用場合等內(nèi)容,需要的朋友可以參考下
    2014-10-10

最新評論

西林县| 电白县| 方城县| 克什克腾旗| 淄博市| 镇赉县| 和硕县| 阳西县| 凤城市| 普格县| 北辰区| 深州市| 始兴县| 阳西县| 云南省| 丰原市| 濉溪县| 雅安市| 海晏县| 巴林右旗| 南川市| 昌都县| 彰武县| 方正县| 信阳市| 浮山县| 天全县| 五台县| 荣昌县| 寿光市| 安岳县| 蓬莱市| 中阳县| 克什克腾旗| 武邑县| 望奎县| 宁阳县| 阳江市| 潼关县| 清流县| 武安市|