欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C語(yǔ)言二分查找算法及實(shí)現(xiàn)代碼

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊: 次

二分査找也稱(chēng)折半査找,其優(yōu)點(diǎn)是查找速度快,缺點(diǎn)是要求所要査找的數(shù)據(jù)必須是有序序列。該算法的基本思想是將所要査找的序列的中間位置的數(shù)據(jù)與所要査找的元素進(jìn)行比較,如果相等,則表示査找成功,否則將以該位置為基準(zhǔn)將所要査找的序列分為左右兩部分。接下來(lái)根據(jù)所要査找序列的升降序規(guī)律及中間元素與所查找元素的大小關(guān)系,來(lái)選擇所要査找元素可能存在的那部分序列,對(duì)其采用同樣的方法進(jìn)行査找,直至能夠確定所要查找的元素是否存在,具體的使用方法可通過(guò)下面的代碼具體了解。

#include <stdio.h>
binarySearch(int a[], int n, int key){
 int low = 0;
 int high = n - 1;
 while(low<= high){
  int mid = (low + high)/2;
  int midVal = a[mid];
  if(midVal<key)
   low = mid + 1;
  else if(midVal>key)
   high = mid - 1;
  else
   return mid;
 }
 return -1;
}
int main(){
 int i, val, ret;
 int a[8]={-32, 12, 16, 24, 36, 45, 59, 98};
 for(i=0; i<8; i++)
  printf("%d\t", a[i]);
 printf("\n請(qǐng)輸人所要查找的元素:");
 scanf("%d",&val);
 ret = binarySearch(a,8,val);
 if(-1 == ret)
  printf("查找失敗 \n");
 else
  printf ("查找成功 \n");
 return 0;
}

運(yùn)行結(jié)果:

-32    12    16    24    36    45    59    98

請(qǐng)輸入所要查找的元素:12

查找成功

在上面的代碼中,我們成功地通過(guò)二分査找算法實(shí)現(xiàn)了查找功能,其實(shí)現(xiàn)過(guò)程如下圖所示。

 在如上圖所示的查找過(guò)程中,先將序列中間位置的元素與所要査找的元素進(jìn)行比較,發(fā)現(xiàn)要査找的元素位干該位置的左部分序列中。接下來(lái)將mid的左邊一個(gè)元素作為 high,繼續(xù)進(jìn)行二分査找,這時(shí)mid所對(duì)應(yīng)的中間元素剛好是所要査找的元素,査找結(jié)束,返回査找元素所對(duì)應(yīng)的下標(biāo)。在main函數(shù)中通過(guò)返回值來(lái)判斷査找是否成功,如果査找成功.就打印輸出“査找成功”的信息,否則輸出“査找失畋”的信息。

 以上就是對(duì)二分查找法的詳細(xì)介紹,希望學(xué)習(xí) C語(yǔ)言的同學(xué)可以掌握。

上一篇:C語(yǔ)言邏輯運(yùn)算符知識(shí)整理

欄    目:C語(yǔ)言

下一篇:C++按照正態(tài)分布來(lái)排列整型數(shù)組元素

本文標(biāo)題:C語(yǔ)言二分查找算法及實(shí)現(xiàn)代碼

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2150.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有