91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php數組中的二分查找怎么實現

發布時間:2022-05-26 09:44:18 來源:億速云 閱讀:151 作者:zzz 欄目:大數據

這篇文章主要介紹了php數組中的二分查找怎么實現的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇php數組中的二分查找怎么實現文章都會有所收獲,下面我們一起來看看吧。

1.定義

二分查找也稱折半查找Binary Search),它是一種效率非常高效的查找方法。但是折半查找要求線性表必須采用順序存儲結構,而且表中元素按關鍵字有序排列。

2. 優缺點

優點是比較次數少,查找速度快,平均性能好;

其缺點是要求待查表為有序表,且插入刪除困難。

因此折半查找方法適用于不經常變動而查找頻繁的有序列表

3.實例

#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
  int a[100];//注意這里的數組下標,即a[0]=1,a[1]=2……a[99]=100
  int guess;//猜測字符
  int flag=0;//設置標志位,區分是否查找成功
  int count=0;//統計比較次數
  int low=0,mid,high=99;
  //初始化
  cout<<"1、初始化"<<endl;
  for(int i=0;i<100;i++){
      a[i]=i+1;
  }
  cout<<"2、要查找的數字"<<endl;
  cout<<"guess:";
  cin>>guess;
  cout<<"3、二分查找"<<endl;
  //二分查找
  while(low<=high){
  count++;
      mid=(low+high)/2;
 cout<<"第"<<count<<"次查找,其中low="<<low<<"   high="<<high<<"   mid="<<mid<<endl;
 if(guess==a[mid]){
 flag=1;
 cout<<"success!比較次數:"<<count<<"次"<<endl;
 break;//查找成功就退出,如果想要繼續查找也是可以的
 }
 if(guess>a[mid]){
 low=mid+1;
 }
 if(guess<a[mid]){
      high=mid-1;
 }  
  }
  if(flag==0)
  cout<<"fail!"<<endl;
}

關于“php數組中的二分查找怎么實現”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“php數組中的二分查找怎么實現”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

上栗县| 武强县| 奇台县| 建瓯市| 红安县| 内黄县| 新田县| 当涂县| 镇雄县| 霍林郭勒市| 卢龙县| 永平县| 宜兴市| 曲阜市| 高青县| 镇宁| 钦州市| 扶余县| 司法| 象州县| 石家庄市| 沂源县| 沙田区| 靖江市| 瑞丽市| 开阳县| 子长县| 宁城县| 大宁县| 山东| 隆化县| 林口县| 松阳县| 浙江省| 绥化市| 新河县| 湟源县| 赫章县| 章丘市| 公主岭市| 托克逊县|