SHAOXIAOJ正在加载中...

2611: 分治策略-二分查找

金币值:3 定数:6 时间限制:1.000 s 内存限制:128 M
正确:4 提交:4 正确率:100.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 算法设计

题目描述

已知一个有序的整数序列a1,a2,...an(从小到大,n<=20)和一个整数x ,查找x在该序列中的下标(如果被查找的元素是第1个元素,则返回0;如果被查找的元素找不到,则返回-1),要求用分治策略实现。

测试代码   复制

#include <stdio.h>

int binarySearch(int a[], int x, int left, int right) {
	int mid;
	if(left > right) {
		return -1;
	} else {

	}
}

int main() {
	int a[20],n,x,i,index;
	scanf("%d", &n);
	for(i = 0; i < n; i++ ) {
		scanf("%d", &a[i]);
	}
	scanf("%d", &x);
	index = binarySearch(a, x, 0, n-1);
	printf("%d\n", index);
	return 0;
}

输入格式

第1行输入一个正整数,表示n
第2行输入n个有序的整数
第3行输入一个整数,表示被查找的数

输出格式

第4行输出查找元素所在的位置

输入样例    复制

5
1 2 3 4 5
3

输出样例    复制

2