二分法查找已排序数列中目标数字的位置
来源:互联网 发布:软件产品质量缺陷等级 编辑:程序博客网 时间:2024/05/02 06:10
#include<iostream>using namespace std;int search(int list[], int n,int find){int start = 0, end = n - 1;while (start <= end){int middle = (start + end) / 2;if (find == list[middle])return middle;else if (find > list[middle])start = middle + 1;else end = middle - 1;}}int main(){int a[10] = { 1,2,3,4,5,6,7,8,9,10};cout << search(a, 10, 6);cin.get();return 0;}
二分法使用最后的确定的数就是二分的中位数,因此最后返回middle,
n为奇偶没有关系,因此不必区分奇偶分情况
int middle = (start + end) / 2;
int取的时候舍弃小数位置
使用while (start <= end)作为终止条件,即最后二分法只剩下一个数字,即为查找的数,
在判断左右序列时改变起始于终止位置即可,即middle+or-1;
阅读全文
0 0
- 二分法查找已排序数列中目标数字的位置
- Java二分法在已排序数组中查找指定数
- 二分法查找有序数列
- 二分法查找有序数列
- 在已排序的数组中,查找和为给定值得两个数字
- 在旋转之后的已排序数组中查找一个数字
- 在旋转之后的已排序数组中查找一个数字
- 在旋转之后的已排序数组中查找一个数字
- 在已排序的数组中查找
- 二分法查找元素位置
- 二分法查找位置
- 好好写一遍“用二分法在数列中搜寻一个数字”的代码
- 算法--二分法查找数字
- 二分法求解数列中最小的数
- Java的冒泡排序和二分法查找
- 归并排序、二分法查找的递归实现
- php中常见数组排序函数的用法和详解及二分法查找、冒泡法查找
- 递增有序数组中,查找某一个数字的位置
- MVP模式实现接口登陆
- mvp的基本登录(简单实现)
- u-boot支持LCD显示(基于TQ2440)
- 51nod 1791 合法括号子段 (队列)
- SELECT语句详解
- 二分法查找已排序数列中目标数字的位置
- Python学习笔记——模块
- java作业day10/1
- 前端学习概述
- 【实战\聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎项目笔记】第1章 课程介绍
- Hadoop入门1-输入输出流
- 方差、标准差、均方差、均方误差区别总结
- Fire!(UVA-11624)
- 【实战】android网页源代码查看器