【C++】c++实现二分查找

您所在的位置:网站首页 二分检索问题 【C++】c++实现二分查找

【C++】c++实现二分查找

2024-07-15 03:56| 来源: 网络整理| 查看: 265

参考:

https://blog.csdn.net/qq_31828515/article/details/51791833https://www.jianshu.com/p/13a854172b0c 一、二分查找

二分查找又称折半查找,在C和C++里,二分查找是针对有序数组所用的一种快速查找元素的方法。

二、二分查找的条件以及优缺点

条件:针对有序数组(元素从小到大或从大到小) 优点:查询速度较快,时间复杂度为O(n) 缺点:有硬性条件的限制,而且即使查到后,插入与删除困难。

三、图解

在这里插入图片描述

四、实现方式 #include using namespace std; /* *二分查找思想:1、数组从小到大排序;2、查找的key每次和中间数比较,如果key小于mid 查找mid左侧的数组部分;如果key大于mid,则查找mid右侧的数组部分;如果相等,则直接返回mid。 输入:排序数组-array,数组大小-aSize,查找值-key 返回:返回数组中的相应位置,否则返回-1 */ //非递归查找(循环) int BinarySearch(int *array, int aSize, int key) { if ( array == NULL || aSize == 0 ) return -1; int low = 0; int high = aSize - 1; int mid = 0; while ( low high ) return -1; int mid = ( low + high )/2; if ( array[mid] == key ) return mid; else if ( array[mid]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3