1001.二分查找
来源:互联网 发布:淘宝客机器人免费安装 编辑:程序博客网 时间:2024/06/05 12:48
题目:
分析:二分查找,从给定序列中,先寻找序列最中间的数,如果中间的数比给定的数小,则取 中间数后的序列为新的序列,否则去中间数前的序列为新序列。重复查找,直到找到,或者序列为空。
代码:
#include<stdio.h>#include<stdlib.h>int serach(int *A, int n, int goal);void main(){int m, n, i, goal;scanf("%d", &n);//动态分配数组int *A = (int *)malloc(sizeof(int) * n);for (i = 0; i < n; i++) scanf("%d", &A[i]);scanf("%d", &m);for (i = 0; i < m; i++){scanf("%d", &goal);if (serach(A, n, goal))printf("Yes\n");elseprintf("No\n");}}//存在返回1 不存在返回0int serach(int *A, int n, int goal){int i, j,temp;i = 0, j = n - 1;while (i<=j){temp = (i + j) / 2;if (A[temp] == goal) return 1;if (A[temp] < goal)i = temp + 1;elsej = temp - 1;}return 0;}
0 0
- 1001.二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 八皇后问题
- 杭电ACM 2081:手机短号
- 黑马程序员——IOS基础---C语言学习之函数
- 【STL源码剖析读书笔记】【第4章】序列式容器之deque
- ComboBox DisplayMember无法赋值的问题
- 1001.二分查找
- android MediaPlayer
- 蓝桥杯 VIP 基础练习 2n皇后问题
- 【内存管理】分页机制
- nyoj 42 一笔画问题
- sphinx索引原理
- 1.linux中允许数据库远程连接的命令是:
- linux系统之间互相复制文件
- eclipse经常报内存不足的原因