折半查找算法

tech2025-01-21  1

什么是折半查找算法?

在一个有序数组中查找某一元素,确定一个中间位置,如果大于该中间数,则在右边查找,如果小于,则在左边查找

c++代码:

#include "iostream" using namespace std; int search(int arr[],int size,int num){ int l = 0;//初始化头部下标 int h = size-1;//初始化尾部下标 int mid;//数组中间位置 while (l <= h){ mid = (l + h) / 2; if (num == arr[mid]){ return mid; } else if (num>arr[mid]){ l = mid + 1; } else{ h = mid - 1; } } return -1; } int _tmain(int argc, _TCHAR* argv[]) { int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int index=search(arr, 10, 4); cout << "index: " << index; return 0; }
最新回复(0)