#include<iostream>
using namespace std;
#define MAXSIZE 100
typedef struct{
int key;
}ElemType;
typedef struct{
ElemType *R;
int length;
}SSTable;
int InitList(SSTable &ST)//构造一个空的线性表
{
ST.R=new ElemType[MAXSIZE];
ST.length=0;
}
int CreateList(SSTable &ST)//创建一个非空顺序表
{
int i,n;
cout<<"请输入要查的的个数n:";
cin>>n;
ST.length=n;
cout<<"请输入"<<n<<"个数字";
cout<<endl;
for (i=1;i<=ST.length;i++)
cin>>ST.R[i].key;
}
int Searchzhe(SSTable &ST,int key)
{
int low=1,mid,high=ST.length;
while(low<=high)
{
mid=(low+high)/2;
if(key==ST.R[mid].key)
{
cout<<"found "<<key<<" ,locate is:"<<mid<<endl;
break;
}
else if(key<ST.R[mid].key)
high=mid-1;
else
low=mid+1;
}
if(low>high)
cout<<"not found"<<endl;
}
int main()
{
SSTable ST;
InitList(ST);
CreateList(ST);
Searchzhe(ST,3);
}