二分法查找有序序列元素
二分法查找数组中某个元素
- 一、二分法思想
- 二、代码及结果
- 三、总结
一、二分法思想
对于已按照关键字排序的序列,经过一次比较后,可将序列分割成两部分,然后只在有可能包含待查找元素的一部分中继续查找,并根据试探结果继续分割,逐步缩小查找范围,直至找到或找不到为止。
二、代码及结果
代码如下(示例):
#include<stdio.h>
#include<string.h>
#include"windows.h"
int main()
{int arr[] = {1,12,36,45,50,60,72,86,99,101,110};int num;printf("请输入要查找的数字:");scanf("%d", &num);int high, low=0,flag = 1;high = (sizeof(arr)/sizeof(arr[0]))-1;low = 0;while (low <= high){int mid = (high + low) / 2;if (arr[mid]<num){low = mid + 1;}else if (arr[mid]>num){high = mid - 1;}else{printf("数组所在的下标:%d\n对应元素是%d \n", mid,arr[mid]);flag = 0;break;}}if (flag){printf("找不到! \n");}system("pause");return 0;
}
三、总结
通过定义一个有序数组查找某个元素,熟练掌握二分法的基本原理,持之以恒的学习就是成功的奥秘,加油!
二分法查找有序序列元素相关推荐
- 二分法查找有序表中最接近的数值
二分查找(Binary Search): 二分查找又称折半查找,它是一种效率较高的查找方法. 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构.不妨设有序表是递增有序 ...
- c语言中的数组二分法排序程序,#C语言#二分法查找有序数组
C语言的二分法,想必很多朋友都在初学时是一个难啃的骨头,因为这是必须掌握的最基础的一种算法.在这里我分享一下这个简单的#二分法#查找有序数组 #include int binary_search(in ...
- 二分法查找是基于有序_利用二分法查找有序数组中是否含有给定Value
//利用二分法查找有序数组中是否含有给定Value class AlgorithmByZXQ { /// /// 二分法查找数组中某一数值 /// /// /// /// /// /// public ...
- C语言学习记录——鹏哥二分法查找数组中元素 复习整理
#include <stdio.h> #include <string.h> int main() {//初始化一维整型数组int arr[10] = { 1,2,3,4,5, ...
- python实现二分法查找_python3 二分法查找
''' 二分法查找 有序列表 掐头去尾取中间 查找列表中xx在不在列表中,在,则返回索引值 ''' # lst = [1, 4, 6, 8, 9, 21, 23, 26, 35, 48, 49, 54 ...
- python用二分法查找元素_Python 二分法查找
# 二分法查找主要的作用就是查找元素 lst = [1,3,5,7,12,36,68,79] # 数据集 百万级数据 num = int(input("请输入你要查找的元素信息:" ...
- Python内置模块bisect(二分查找实现和快速插入有序序列)
文章目录 1 概述 2 查找 3 插入 4 补充 1 概述 这是一个免费的二分查找实现和快速插入有序序列的工具.也就是说,你可以使用: import bisect bisect.insort(list ...
- C语言 二分法查找数组元素
什么是二分法 二分法在数学上的定义:对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得 ...
- 中根遍历二叉查找树所得序列一定是有序序列_学习数据结构--第六章:查找(查找)
第六章:查找 1.查找的基本概念 查找:在数据集合中寻找满足某种条件的数据元素的过程. 查找的结果 查找成功和查找失败 查找表:用于查找的数据集合,由同一种数据类型(或记录)的组成,可以是一个数组或链 ...
最新文章
- linux消息队列非亲缘,linux进程
- 拦截推送信息_Android10.0公测版H2OS For OnePlus 6T第1版已推送更新
- (转)Go语言核心36讲之Go语言入门基础知识
- ASP.NET中移除全部缓存
- 米的换算单位和公式_求小学数学的公式、换算和单位转英文字母(米cm)
- selenium2 python自动化测试实战(回归测试)
- kaidi中 install cuda
- Linux如何通过csv导入neo4j,Neo4j-csv文件导入
- 独家解读 | 2018 恶意机器流量报告
- 解决“ Error L6218E Undefined symbol enet_delay (referred from xxxx.o)”问题
- Dima and Salad 01背包变形
- 我们为什么需要实时数据库?
- 快速分析出京东快递大量单号物流是否延误
- 一个完整项目的流程都涉及哪些内容
- Prescan 8.5.0 许可证过期(Could not checkout a valid license)
- 原来工业互联网和工业物联网是两个东西啊
- 5、Python学习笔记第5课:数据类型,运算符
- 3D塔防游戏实现 5.2 3D怪物死亡(Feekood语言)
- Nginx 配置旧域名重定向到新域名
- 【C语言】解决 “error: function definition is not allowed here”