c语言二分法如何实现查找数组元素

c语言二分法实现查找数组元素的方法:1、递归算法,代码为【if(a[mid] == key) return mid】;2、非递归算法,代码为【while( left

c语言二分法如何实现查找数组元素

本教程操作环境:windows7系统、c99版本,DELL G3电脑。

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

递归算法

#include//二分法实现数组查找 //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); }

非递归算法

立即学习“C语言免费学习笔记(深入)”;

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 ) {            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语言教程视频】

以上就是c语言二分法如何实现查找数组元素的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1434900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 10:13:06
下一篇 2025年12月17日 10:13:17

相关推荐

  • c语言如何查找字符串指定字符

    c语言查找字符串指定字符的方法:1、【strchr()】用来查找某字符在字符串中首次出现的位置;2、【strrchr()】函数用于查找某字符在字符串中最后一次出现的位置。 本教程操作环境:windows7系统、c99版本,DELL G3电脑。 c语言查找字符串指定字符的方法: 1、strchr() …

    2025年12月17日
    000
  • c语言源程序文件名的后缀是什么

    c语言源程序文件名的后缀是“.c”。c语言源程序经过C编译程序编译生成后缀为“.obj”的二进制文件(目标文件),然后由称为“连接程序”(Link)的软件把目标文件与C语言提供的各种库函数连接起来,生成后缀为“.exe”的可执行文件。 本教程操作环境:windows7系统、c99版本、Dell G3…

    2025年12月17日
    000
  • C语言中scanf和printf的区别是什么

    区别:scanf是输入函数,用于从标准输入设备(一般是键盘)输入数据;而printf是输出函数,用于向标准输出设备(一般是显示器)输出数据。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 scanf() 与 printf()是C标准库常用到的函数。而且两个函数都可以接受一定…

    2025年12月17日 好文分享
    000
  • 一个c源程序必须包含一个main函数吗

    是的,必须包含一个main函数。main函数是程序默认的入口,程序的执行是从main函数开始;如果没有main函数,则编译器不知道程序从哪里开始执行,所以一个c源程序有且仅有一个主函数(main函数)。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 main函数,又称主函数…

    2025年12月17日
    000
  • visual studio怎么创建c语言

    visual studio创建c语言程序的方法:首先打开VS主程序,选择创建新项目;然后在菜单栏中选择C++;接着进入VS主界面,在右边的解决方案管理器中找到源文件,右键添加,并选择新建项;最后选择添加C++文件即可。 本文操作环境:Windows7系统,visual studio2019版,DEL…

    2025年12月17日 好文分享
    000
  • c语言怎么输入3个数输出最大值

    方法:首先使用scanf()接收从键盘输入的三个数;然后使用“if else”语句比较三个数的大小,获得最大值;最后使用print()函数将最大值输出即可。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 c语言输入3个数输出最大值 #include int main() {…

    2025年12月17日
    000
  • c语言如何实现1~n累加求和

    1、for循环,语法“for(i=1;i 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 问题描述:用C语言实现1+2+3+4+5+…+n的累加。 方法一:使用for循环。具体代码如下: #includeint add(int n){int i,sum=0;for(i=1;i…

    2025年12月17日 好文分享
    000
  • 在c语言中引用数组元素时,其数组下标的数据类型允许是什么

    在c语言中引用数组元素时,其数组下标的数据类型允许是:整型常量或整型表达式。C语言规定只能逐个引用数组元素而不能一次引用整个数组,数据元素的表示形式为“数组名[下标]”,下标可以是整型常量或整型表达式。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 在c语言中引用数组元素时…

    2025年12月17日
    000
  • 在不同函数中可以使用相同名字的变量吗

    可以使用。C语言在函数中说明的变量为局部变量,只在函数内起作用,不会影响到其他函数。在不同函数中使用相同的变量名不代表是同一变量。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 在不同函数中可以使用相同名字的变量。 教程推荐:《c语言教程视频》 在函数内部定义的变量(局部变…

    2025年12月17日
    000
  • 在c语言中char型数据在内存中的储存形式为什么

    在c语言中char型数据在内存中的储存形式为“ASCII码”。在C语言中,将一个字符常量放到一个字符变量中,实际并不是把该字符本身放到内存单元中,而是将与该字符相对应的ASCII码放到存储单元中。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 在c语言中char型数据在内存…

    2025年12月17日
    000
  • c语言中用于实现循环结构的三种基本语句是什么

    三种循环基本语句:1、while循环语句,语法“while(表达式){语句块}”;2、do-while循环语句,语法“do{语句块}while(表达式);”;3、for循环语句,语法“for(初始化语句;循环条件;自增或自减){语句块}”。 本教程操作环境:windows7系统、c99版本、Dell…

    2025年12月17日
    000
  • c语言结构体类型变量在程序运行期间怎么样

    c语言结构体类型变量在程序运行期间,所有的成员一直驻留在内存中。原因:结构体类型的变量在程序运行期间要作为一个整体占用连续的内存单元。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 c语言结构体类型变量在程序运行期间,所有的成员一直驻留在内存中。 C语言 结构体(Struc…

    2025年12月17日
    000
  • C语言中要改变循环语句的流程可以使用的语句有哪些

    C语言中要改变循环语句的流程可以使用的语句有:break,continue和goto。break语句可以终止循环而执行整个循环语句后面的代码;continue语句可以跳过循环体中剩余的语句而强制进入下一次循环。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 break关键字…

    2025年12月17日
    000
  • putchar和printf的区别是什么

    区别:putchar()函数只能输出单个字符,而printf()函数可以输出各种类型的数据,例如字符型、浮点型、整数型;“printf(“%c”,’A’)”相当于“putchar(‘A’)”,如果只想输出一个字符,putchar…

    2025年12月17日
    000
  • continue语句只用于循环语句中,它的作用是什么

    continue语句只用于循环语句中,它的作用是:跳过循环体中剩余的语句而强制进入下一次循环。continue语句只用在while、for循环中,常与if条件语句一起使用,判断条件是否成立。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 continue语句只用在while…

    2025年12月17日
    000
  • c语言可以用来实现循环的结构化语句是什么

    c语言可以用来实现循环的结构化语句是:while、do-while和for语句。while语句是判断条件,如果满足则执行,否则结束循环;do-while语句先执行,然后再判断条件是否满足;for语句允许编写一个执行指定次数的循环控制结构。 本教程操作环境:windows7系统、c99版本、Dell …

    2025年12月17日
    000
  • c语言中结束本次循环的语句是什么

    c语言中结束本次循环的语句是“continue”。控制语句continue只能作用于循环体中,其作用是结束本次循环,跳到判断循环的位置,即重新开始下一次循环。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 在C语言中,控制语句“continue”用于循环体中结束本次循环,重…

    2025年12月17日
    000
  • c语言逗号运算符怎么使用

    c语言逗号运算符的使用方法:当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一个表达式的值。 本文操作环境:Windows7系统,Dell G3电脑。 c语言逗号运算符的使用方法: 一、用法: 1、当顺序点用,结合顺序是从左至右,用来顺序求值,完毕之后整个表达式的值是最后一…

    2025年12月17日
    000
  • 复数型是c语言的数据类型吗?

    错,复数型不是c语言的数据类型。在C语言中,数据类型可分为基本数据类型、构造数据类型、指针类型、空类型4大类。其中基本类型:字符型、整型、实型(单精度型和双精度型)、枚举类型;构造类型:数组、结构体、公用体。 相关推荐:C语言视频教程 下列选项中不属于C语言的数据类型是( )。 A.复数型B.逻辑型…

    2025年12月17日
    000
  • 在c程序中,注释语句只能位于一条语句的后面吗

    错误,在C语言中注释部分对程序的运行结果不产生任何影响,它可以出现在程序的任何位置。在C语言中有两种注释方式:一种是以“/*”开始、以“*/”结束的块注释;一种是以“//”开始、以换行符结束的单行注释。 本文操作环境:windows10系统、c11、thinkpad t480电脑。 相关推荐:C语言…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信