iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >怎么在c语言中使用二分法查找数组中的元素
  • 291
分享到

怎么在c语言中使用二分法查找数组中的元素

2023-06-14 06:06:40 291人浏览 安东尼
摘要

今天就跟大家聊聊有关怎么在C语言中使用二分法查找数组中的元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。c语言二分法实现查找数组元素的方法:递归算法#include<stdi

今天就跟大家聊聊有关怎么在C语言中使用二分法查找数组中的元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

c语言二分法实现查找数组元素的方法:

递归算法

#include<stdio.h>//二分法实现数组查找 //int recurbinary(int *a, int key, int low, int high){    int mid;    if(low > high)        return -1;    mid = (low + high)/2;    if(a[mid] == key) return mid;    else if(a[mid] > key)         return recurbinary(a,key,low,mid -1);    else         return recurbinary(a,key,mid + 1,high); }

非递归算法

int binary( int *a, int key, int n ){    int left = 0, right = n - 1, mid = 0;    mid = ( left + right ) / 2;    while( left < right && a[mid] != key )    {        if( a[mid] < key ) {            left = mid + 1;        } else if( a[mid] > key ) {            right = mid - 1;        }        mid = ( left + right ) / 2;    }    if( a[mid] == key )        return mid;    return -1;} int main(void){int a[10] = {2,4,6,8,10,12,14,16,18,20},t,k,f;scanf("%d",&t);k = recurbinary(a,t,2,20);f = binary(a,t,10);  //非递归算法if(k == -1){printf("不存在此数\n");}else{printf("%-5d是数组第%d个元素\n%-5d数组的第%d个元素",k,k+1,f,f+1);} return 0;}

看完上述内容,你们对怎么在c语言中使用二分法查找数组中的元素有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网其他教程频道,感谢大家的支持。

--结束END--

本文标题: 怎么在c语言中使用二分法查找数组中的元素

本文链接: https://www.lsjlt.com/news/268371.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在c语言中使用二分法查找数组中的元素
    今天就跟大家聊聊有关怎么在c语言中使用二分法查找数组中的元素,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。c语言二分法实现查找数组元素的方法:递归算法#include<stdi...
    99+
    2023-06-14
  • c语言怎么在数组中查找指定元素
    在C语言中,可以使用循环结构来在数组中查找指定元素。以下是一个示例代码:```c#include int main() {int a...
    99+
    2023-10-10
    c语言
  • C语言中二分查找怎么用
    这篇文章主要介绍了C语言中二分查找怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基础的二分查找先来回顾下基础的二分查找的基本框架,一般实际场景都是查找和 target ...
    99+
    2023-06-29
  • 使用java怎么在数组中查找元素
    这篇文章将为大家详细讲解有关使用java怎么在数组中查找元素,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、...
    99+
    2023-06-14
  • java如何使用二分查找数组中指定元素
    这篇文章给大家分享的是有关java如何使用二分查找数组中指定元素的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。查找数组中指定元素(二分查找) 二分查找的必要条件是必须有序的数列  &...
    99+
    2023-06-27
  • c语言在数组中怎么互换元素位置
    在C语言中,可以通过以下方式互换数组中两个元素的位置:1. 使用中间变量进行互换```cvoid swap(int* array, ...
    99+
    2023-10-12
    c语言
  • c语言怎么判断元素是否在数组中
    在C语言中,可以通过遍历数组的每个元素来判断一个元素是否在数组中。以下是一个示例代码: #include int isEleme...
    99+
    2023-10-24
    c语言
  • 使用C#中的Array.IndexOf函数查找数组中某个元素的索引
    使用C#中的Array.IndexOf函数查找数组中某个元素的索引在C#程序中,当我们需要查找数组中某个元素的索引时,可以使用Array.IndexOf函数。Array.IndexOf函数会在指定的数组范围内查找指定的元素,并返回其第一次出...
    99+
    2023-11-18
    C# 查找 ArrayIndexOf
  • JavaScript中的二分查找法怎么使用
    这篇文章主要介绍“JavaScript中的二分查找法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中的二分查找法怎么使用”文章能帮助大家解决问题。二分查找公式functi...
    99+
    2023-07-05
  • 怎么使用js查找数组中符合条件的元素
    今天小编给大家分享一下怎么使用js查找数组中符合条件的元素的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、利用for循环进...
    99+
    2023-07-05
  • c语言一维数组中元素互换的方法是什么
    在C语言中,可以使用一个临时变量来交换数组中的两个元素。具体步骤如下:1. 定义一个临时变量temp。2. 将第一个元素的值赋给te...
    99+
    2023-10-12
    c语言
  • 使用indexOf等在JavaScript的数组中进行元素查找和替换
    复制代码 代码如下: <html> <head> <title> Extend JavaScript Array Method </titl...
    99+
    2022-11-15
    indexOf 数组元素 查找替换
  • C语言中的柔性数组怎么使用
    这篇文章主要讲解了“C语言中的柔性数组怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中的柔性数组怎么使用”吧!1.什么是柔性数组柔性数组就是大小可以变化的数组。注意跟C99中的...
    99+
    2023-07-06
  • 怎么进行C语言中数组的使用
    怎么进行C语言中数组的使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1 数组的基本概念数组:类型相同的数据元素的集合,是C语言中的一种构造数据类型。这些元素会顺序地存储在内...
    99+
    2023-06-22
  • C语言中的数组怎么创建和使用
    本文小编为大家详细介绍“C语言中的数组怎么创建和使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中的数组怎么创建和使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一维数组的创建和初始化1.数组的创建数...
    99+
    2023-06-30
  • 怎么在JavaScript中使用shift()方法删除数组元素
    这期内容当中小编将会给大家带来有关怎么在JavaScript中使用shift()方法删除数组元素,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。javascript是一种什么语言javascript是一种动...
    99+
    2023-06-14
  • 怎么在C语言中使用多维数组和结构体
    本篇内容介绍了“怎么在C语言中使用多维数组和结构体”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!题目:有一个颜色集合,里面有若干个颜色值(R...
    99+
    2023-06-08
  • 怎么在JavaScript中使用​unshift() 方法向数组添加元素
    这篇文章给大家介绍怎么在JavaScript中使用unshift() 方法向数组添加元素,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。javascript是一种什么语言javascript是一种动态类型、弱类型的语言,...
    99+
    2023-06-14
  • C语言中怎么用简单粗暴的方法找水仙花数
    这篇文章主要介绍了C语言中怎么用简单粗暴的方法找水仙花数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言中怎么用简单粗暴的方法找水仙花数文章都会有所收获,下面我们一起来看看吧。什么是水仙花数:指一个n位数,...
    99+
    2023-06-29
  • 怎么在java中利用二分法寻数组的位置
    怎么在java中利用二分法寻数组的位置?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作