国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

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

2020-01-26 14:50:44
字體:
供稿:網(wǎng)友

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

/*  此程序演示了二分法查找算法(針對按從小到大排列的數(shù)組)的實現(xiàn)。*/#include <iostream>using namespace std;/*  功能: 實現(xiàn)數(shù)組的二分法查找(只算法只適合按從小到大排列的數(shù)組)  返回值:關(guān)鍵字在數(shù)組中的下標, 返回-1表示未找到  a[]:  要搜索的數(shù)組  len:  數(shù)組元素個數(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ù)組前半段的長度    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ù)組中的下標  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;}

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 肥西县| 方城县| 呼伦贝尔市| 保定市| 金秀| 遂溪县| 东明县| 普洱| 定日县| 吕梁市| 合肥市| 偃师市| 利川市| 巴南区| 合江县| 凤台县| 永修县| 皮山县| 云安县| 柘荣县| 阿瓦提县| 岳池县| 卢湾区| 扎兰屯市| 拉孜县| 昌吉市| 沁源县| 五莲县| 改则县| 西乌| 新乐市| 抚顺县| 遂昌县| 黄浦区| 镇平县| 昌都县| 射阳县| 六安市| 郧西县| 聊城市| 谷城县|