c语言例题15:折半查找
【c语言基本例题总结】
问题描述
直接插入排序与折半查找
代码
#include<stdio.h>
#define N 20
int BSearch(int a[],int x,int low,int high);//折半查找
//在升序序列中插入元素x//直接插入排序:将一个记录插入到已排好序的有序表中
int main(void){int i,x;int a[N]={1,3,5,7,9,11,13,15,17,19},n=10; printf("输入新元素:");scanf("%d",&x);//从最后 一个元素开始,比x大的依次后移for(i=n-1;i>=0;i--){if(a[i]>x){a[i+1]=a[i];//将a[i]后移一位,即将a[i]的值存入a[i+1]}else{break;} } a[i+1]=x;printf("插入新元素后的数组:\n");for(i=0;i<=n;i++){printf("%d ",a[i]);}printf("\n");//二分查找printf("在整数序列中搜索给定值x,输入x:");scanf("%d",&x);printf("在整数序列中搜索给定值x的位置%d\n", BSearch(a,x,0,n)); return 0;}
//折半搜索给定值x的位置
int BSearch(int a[],int x,int low,int high){if(low>high){return -1;} else{int mid=(low+high)/2;if(x==a[mid]) return mid;if(x<a[mid]){return BSearch(a,x,low,mid-1);}else{return BSearch(a,x,mid+1,high);}}
}
运行结果
c语言例题15:折半查找相关推荐
- java实现折半查找_java语言之实现折半查找算法
本文主要向大家介绍了java语言之实现折半查找算法,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 折半查找(Binary Search)又称为二分查找,其要求数据序列呈线性结构,也就 ...
- 职坐标陈豪java_java语言之实现折半查找算法
本文主要向大家介绍了java语言之实现折半查找算法,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 折半查找(Binary Search)又称为二分查找,其要求数据序列呈线性结构,也就 ...
- c语言折半查找法例题6,折半查找法--C语言谭浩强版练习6.9
不多说,直接上图. 本程序来源于百度百科――折半查找法 #include #include int main(void) { int arrayA[15]={2, 4, 5, 7, 8, 10, 12 ...
- c语言折半查找法找字符,C语言简单实现折半查找法
近期研习C语言,谭浩强<C语言程序设计(第2版)>P167.6原题: 有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值.如果该数不在数组 ...
- c语言实验报告 折半查找法,C语言数组之冒泡排序+折半查找法(二分查找)
冒泡排序算法 将相邻的元素进行两两比较,大的向后"冒", 小的向前"赶". 口诀: N个数字来排队,两两比较小靠前 外层循环N-1(控制需要比较的轮数). 内层 ...
- 【C语言基础】折半查找法
1.问题描述: 有15个数由大到小顺序放在一数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出"无此数". 2.实现代码: #inclu ...
- C语言基础:折半查找
输入一组(10个数)从小到大有序且不重复的整数,用折半查找法在其中查找x,若x存在,输 出该数在数组中的下标,若找不到x,显示"no" 输入包括两行数据: 第一行:包括10个int ...
- 对字符串进行折半查找c语言,C语言:编写折半查找函数
思路: 先把中间元素找到,寻找的元素在中间元素左边,则小于中间元素,改变right.再继续折半找中间元素寻找. #include #include #include int Binary(int x, ...
- 十九、顺序查找法和折半查找法
顺序查找法 概述:从表的一端开始,逐个进行记录的关键字和给定值的比较,若找到一个记录的关键字与给定值相等,则查找成功:若整个表中的记录均比较过,仍未找到关键字等于给定值的记录,则查找失败.顺序查找的方 ...
- 折半查找法.java
哈喽,很高兴见到大家,这次是用java语言写的折半查找法,实际上, 小白通过对比C语言里的二分法,小白发现,这两种办法的原理相同. 可以参考高中学的查找零点的办法. import java.util. ...
最新文章
- 《编译与反编译技术实战》——第2章编译器实践概述
- 2013 822 划分子网
- 朱江洪功成身退 朱董配解体谁主格力(图)
- [BZOJ3676][Apio2014]回文串
- 计算机二级access上机题,计算机二级ACCESS上机题库
- Python+Selenium学习--异常截图
- 金银花跟黄芪泡水有什么功效?
- radio切换控制div显示_【原】react做tab切换的几种方式
- Swift 实践之UIWebView
- 【IIOT】欧姆龙PLC数采之NX/NJ系列
- 计算机网络——自顶向下
- python基础教程doc_python基础教程之Word Cloud (词云) - Python|python基础教程|python入门|python教程...
- 考虑实时安全优化的自学习自适应交通信号控制
- 【进制转换】如何使用C++将2进制转换为16进制?
- win10系统做T3服务器,win10如何安装用友t3_win10安装用友t3教程
- 解决谷歌浏览器跨域以及cookie保存失效重复登录
- 游戏设计与开发_王牌英雄开发者:游戏设计中的平衡和失衡问题
- 登录验证 用户名 密码
- 《赢在中国》第三季观后感
- ubuntu16安装中文输入法
热门文章
- XPS文件怎么打开?可以转成PDF格式吗?
- 腾讯云联手腾讯安全玄武实验室,提供「应用克隆」漏洞免费检测服务
- 工厂模式演进以及部分使用场景(简单工厂,工厂方法,抽象工厂)
- 电流反馈型运放电路设计指南
- 对话系统-口语理解-意图检测和槽填充:A Co-interactive Transformer for joint Slot Filling and Intent Detection
- vs2013编译ffmpeg之三十一 vidstab
- 小程序 40163_安卓微信登入codebeenused,error40163
- 在excel中如何筛选重复数据_Excel快速筛选数据方法集锦
- Spyder中出现IndentationError:unindent does not match any outer indentation level错误
- 怎么在bios里设置光驱启动 bios设置光驱启动图文教程