SHAOXIAOJ正在加载中...

1724: 顺序查找和二分查找

金币值:2 定数:8 时间限制:1.000 s 内存限制:128 M
正确:1 提交:5 正确率:20.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 数据结构-查找

题目描述

#include <stdio.h>
#include <stdlib.h>

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 100 /* 存储空间初始分配量 */
typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */

/* 无哨兵顺序查找,a为数组,a[0]置空,n为数组中元素个数,key为要查找的关键字,返回值是关键字在数组中的存储位置,查找失败返回0 */
int Sequential_Search(int *a,int n,int key) {
	_________;
}

/* 有哨兵顺序查找 */
int Sequential_Search2(int *a,int n,int key) {
	_________;
}

/* 二分查找 */
int Binary_Search(int *a,int n,int key) {
	_________;
}

int main(void) {
	int a[MAXSIZE+1],i,result;
	int arr[MAXSIZE]= {0,1,16,24,35,47,59,62,73,88,99};
	for(i=0; i<=MAXSIZE; i++) {
		a[i]=i;
	}
	scanf("%d",&key1);
	result1=Sequential_Search(a,MAXSIZE,key1);
	printf("Sequential_Search:%d\n",result1);
	scanf("%d",&key2);
	result2=Sequential_Search2(a,MAXSIZE,key2);
	printf("Sequential_Search2:%d\n",result2);
	scanf("%d",&key3);
	result3=Binary_Search(arr,10,key3);
	printf("Binary_Search:%d",result3);
	return 0;
}

输入格式

第1行输入用“无哨兵顺序查找算法”进行查找的关键字
第2行输入用“有哨兵顺序查找算法”进行查找的关键字
第3行输入用“二分查找算法”进行查找的关键字


输出格式

第1行输出“无哨兵顺序查找算法”找到的关键字在数组中存储的位置下标,若查找失败输出“0”
第2行输出“有哨兵顺序查找算法”找到的关键字在数组中存储的位置下标,若查找失败输出“0”
第3行输出“二分查找算法”找到的关键字在数组中存储的位置下标,若查找失败返回“-1”


输入样例    复制

100
1
62

输出样例    复制

Sequential_Search:100
Sequential_Search2:1
Binary_Search:7