1724: 顺序查找和二分查找
金币值:2
定数:8
时间限制:1.000 s
内存限制:128 M
正确:1
提交:5
正确率:20.00% 命题人:
题目描述
#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行输入用“二分查找算法”进行查找的关键字
第2行输入用“有哨兵顺序查找算法”进行查找的关键字
第3行输入用“二分查找算法”进行查找的关键字
输出格式
第1行输出“无哨兵顺序查找算法”找到的关键字在数组中存储的位置下标,若查找失败输出“0”
第2行输出“有哨兵顺序查找算法”找到的关键字在数组中存储的位置下标,若查找失败输出“0”
第3行输出“二分查找算法”找到的关键字在数组中存储的位置下标,若查找失败返回“-1”
第2行输出“有哨兵顺序查找算法”找到的关键字在数组中存储的位置下标,若查找失败输出“0”
第3行输出“二分查找算法”找到的关键字在数组中存储的位置下标,若查找失败返回“-1”
输入样例 复制
100
1
62
输出样例 复制
Sequential_Search:100
Sequential_Search2:1
Binary_Search:7