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

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

C語(yǔ)言

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

C++二分法在數(shù)組中查找關(guān)鍵字的方法

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

本文實(shí)例講述了C++二分法在數(shù)組中查找關(guān)鍵字的方法。分享給大家供大家參考。具體如下:

/*
  此程序演示了二分法查找算法(針對(duì)按從小到大排列的數(shù)組)的實(shí)現(xiàn)。
*/
#include <iostream>
using namespace std;
/*
  功能: 實(shí)現(xiàn)數(shù)組的二分法查找(只算法只適合按從小到大排列的數(shù)組)
  返回值:關(guān)鍵字在數(shù)組中的下標(biāo), 返回-1表示未找到
  a[]:  要搜索的數(shù)組
  len:  數(shù)組元素個(gè)數(shù)
  key:  要查找的關(guān)鍵字
*/
int binSearch(int a[], int len, int key)
{
  int i = len / 2;
  int ii = 0;
  if(len < 1)
    return -1;
  if((key > a[i]) && (len - i > 0))
  {
    ii = binSearch(a+i+1, len - i - 1, key); // 在后半段數(shù)組中查找
    if(ii != -1)
      return ii + i + 1; // 加上數(shù)組前半段的長(zhǎng)度
    else
      return -1;
  }
  else if(key < a[i] && i > 0) // 在前半段數(shù)組中查找
    return binSearch(a, i, key);
  else if(key == a[i])
    return i; // 返回關(guān)鍵字在數(shù)組中的下標(biāo)
  else
    return -1; // 未在數(shù)組中找到關(guān)鍵字
}
int main()
{
  int a[] = {2, 4, 5, 20, 24, 35, 66, 78, 98};
  int len = sizeof(a) / sizeof(int);
  int i, key = -1;
  while(1)
  {
    cin>>key;
    i = binSearch(a, len, key);
    printf("%d\n", i);
    if(key > 100)
      break;
  }
  return 0;
}

希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。

上一篇:深入講解C++數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)函數(shù)的知識(shí)

欄    目:C語(yǔ)言

下一篇:詳解C++編程中的虛函數(shù)

本文標(biāo)題:C++二分法在數(shù)組中查找關(guān)鍵字的方法

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2686.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)所有