数据结构实验之查找四:二分查找
来源:互联网 发布:whip it 编辑:程序博客网 时间:2024/05/17 07:51
题目描述
在一个给定的无重复元素的递增序列里,查找与给定关键字相同的元素,若存在则输出找到的位置,不存在输出-1。
输入
一组输入数据,输入数据第一行首先输入两个正整数n ( n < = 10^6 )和m ( m < = 10^4 ),n是数组中数据元素个数,随后连续输入n个正整数,输入的数据保证数列递增。
随后m行输入m个待查找的关键字key
输出
若在给定的序列中能够找到与关键字key相等的元素,则输出位序(序号从0开始),否则输出-1。
题解:对于这个题我就想说最好用c做。
示例输入#include<stdio.h>int flag;int data[1000001];int find(int low,int high,int key){ int mid=(high-low)/2+low; if(low<=high)//要计算好下标 { if(data[mid]==key) { flag=1; return mid; } else if(data[mid]>key) return find(low,mid-1,key); else if(data[mid]<key) return find(mid+1,high,key); }}int main(){ int n,m,i,key; scanf("%d%d",&n,&m); for(i=0; i<n; i++) scanf("%d",&data[i]); for(i=1; i<=m; i++) { flag=0; scanf("%d",&key); int t=find(0,n-1,key); if(flag) printf("%d\n",t); else printf("-1\n"); }}
8 34 6 8 9 13 20 21 226817
示例输出
12-1
0 0
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- 数据结构实验之查找四:二分查找
- PHP初学之路【二】
- TNS-12535: TNS:operation timed out、TNS-00505: Operation timed out
- 设计模式总结之Factory Method Pattern(工厂方法模式)
- Kinect V2 多关节捕捉应用中break 与 continue的妙用
- linux服务器上运行java程序,引用外部jar包
- 数据结构实验之查找四:二分查找
- 网上干货 ElasticSearch详解与优化设计
- WebSocket网络接口
- FILE文件流的中fopen、fread、fseek、fclose的使用
- 音视频开发——流媒体数据传输RTP(三)
- Java IO 其他流 -- 字节数组流,字符数组流和数据流
- 关于页面刷新的那些事
- 暑期dp46道(19)HDU 1078 FatMouse and Cheese dfs+记忆化搜索
- spring中c3p0配置