折半查找,请大家帮忙看看错误!!以后分有了还会加倍感谢!!

来源:百度知道 编辑:UC知道 时间:2024/06/09 08:10:03
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>

#define Max_Size 100

typedef int KeyType;

typedef struct
{
KeyType key;
char ele;
}EType;

typedef struct
{
EType *elem;
int len;
}SSTable;

void Creat_st(SSTable &ST,int MaxSize)
{
ST.len=MaxSize;
ST.elem=new EType[ST.len];
}

int BinarySearch(SSTable ST,KeyType SearchKey,int n)
{
int low=0,high=n-1;
while(low<=high)
{
int mid=(low+high)/2;
if(ST.elem[mid].key==SearchKey)
return mid;
else
{
if(ST.elem[mid].key<SearchKey)
low=mid+1;
else
high=mid-1;
}
}
return -1;
}

void main()
{
SSTable ST;
int i,m,a;
Creat_st(ST,Max_Size);
for(i=1;i<=10;i++)
{
cout<<"Input ST.elem[i].key:"c

for(i=1;i<=10;i++)
{
cout<<"Input ST.elem[i].key:"cout<<endl;
cin>>ST.elem[i].key;
}

cout<<"Input ST.elem[i].key:"cout<<endl; 去掉cout
cout<<"Input ST.elem[i].key:"<<endl;
或者在第二个cout前加;
主程序是课本里的 不会错了

你怎么提问了两次呢?
记得排序!

多了个COUT