C语言二分查找算法,折半查找算法_第1页
C语言二分查找算法,折半查找算法_第2页
C语言二分查找算法,折半查找算法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言二分查找算法,折半查找算法C语言二分查找算法,折半查找算法本实例采用二分查找法查找特定关键字的元素。要求用户输入数组长度,也就是有序表的数据长度,并输入数组元素和査找的关键字。程序输出查找成功与否,以及成功时关键字在数组中的位置。例如,在有序表11、13、18、28、39、56、69、89、98、122中査找关本实例采用二分查找法查找特定关键字的元素。要求用户输入数组长度,也就是有序表的数据长度,并输入数组元素和査找的关键字。程序输出查找成功与否,以及成功时关键字在数组中的位置。例如,在有序表11、13、18、28、39、56、69、89、98、122中査找关键字为89的元素。实现过程:(1)自定义函数binary_search(),实现二分査找。实现过程:(1)自定义函数binary_search(),实现二分査找。(2)main()函数作为程序的入口函数。程序代码如下:..4.15.#include<stdio.h>intbinary_search(intkey,inta[],intn)//自定义函数binary_search(){intlow,high,mid,count=0,count1=0;low=0;high=n-1;while(low<high){count++;//0//countmid=(low+high)/2;if(key<a[mid])high=mid-1;//求中间位置//keyelseif(key>a[mid])//key大于中间值时low=mid+1;//确定右子表范围elseif(key==a[mid])//当key等于中间值时,证明查找成功请输入数组的长度:10请输入数组的长度:10请输入数组元素:11131828395669899812216.17.{printf("查找成功!\n查找%d次!a[%d]=%d",count,mid,key);査找次数及所査找元素在数组中的位置//输出4.25.26.count1++;break;//count1记录查找成功次数}}if(count1==0)//判断是否查找失敗printf("查找失敗!");return0;//査找失敗输出main()28.{8.39.40.}inti,key,a[100],n;printf("请输入数组的长度:\n");scanf("%d",&n);//输入数组元素个数printf("请输入数组元素:\n");for(i=0;i<n;i++)scanf("%d",&a[i]);//输入有序数列到数组a中printf("请输入你想查找的元素:\n");scanf("%d",&key);//输入要^找的关键字binary_search(key,a,n);printf("\n");retur

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论