/* * Copyright (c)2017,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:项目1-1.cbp * 作 者:孙仁圆 * 完成日期:2017年11月30日 * 版 本 号:v1.0 * 问题描述:验证折半查找算法 * 输入描述:所要查找的数据 * 程序输出:测试数据的位置及数据本身 */
#include <iostream> #define MAXL 100 using namespace std; typedef int KeyType; typedef char InfoType[11]; typedef struct { KeyType key; //KeyType为关键字的数据类型 InfoType data; //其他数据 } NodeType; typedef NodeType SeqList[MAXL]; //顺序表类型 int BinSearch(SeqList R,int n,KeyType k) { int low=0,high=n-1,mid; while (low<=high) { mid=(low+high)/2; if (R[mid].key==k) //查找成功返回 return mid+1; if (R[mid].key>k) //继续在R[low..mid-1]中查找 high=mid-1; else low=mid+1; //继续在R[mid+1..high]中查找 } return 0; } int main() { int i,j; SeqList R; KeyType so[]={12,18,24,35,47,50,62,83,90,115,134}; int e=11; for(j=0;j<11;j++) R[j].key=so[j]; int result; cin>>i; result=BinSearch(R,11,i); if(result>0) cout<<"序列中第"<<result<<"个数是"<<i<<endl; else cout<<"木有找到"<<endl; return 0; }
第13周 项目一 验证折半查找算法
最新推荐文章于 2019-05-14 18:50:03 发布