实验七
(1)
#include<iostream>
using namespace std;
class SortedList
{
public:
SortedList(int sz=100){Elements=new int[sz];}
~SortedList(){delete[]Elements;}//析构函数
int BinarySearch(int x, int low,int high);//二分查找
int *Elements;//数据表中存储数据的数组
int CurrentSize;//数组最大长度和当前长度
};
int SortedList::BinarySearch(int x,int low ,int high)
{int mid=0;
if(low<=high){
mid=(low+high)/2;
if(x>Elements[mid-1])//右搜索区间
mid=BinarySearch(x,mid+1,high);
else if(x<Elements[mid-1])//左边搜索区间
mid=BinarySearch(x,low,mid-1);
}
return mid;
}
void main()
{
SortedList s;
int run=1;
int i;
int n,m,k;
while(run)
{
cout<<".............二分查找系统............"<<endl;
cout<<"1.输入一条有序数列2.查找元素3.退出";
cin>>m;
switch(m){
case 1:
cout<<"输入元素个数(按递增顺序):"<<endl;
cin>>s.CurrentSize ;
cout<<"输入一条有序序列元素(按递增顺序):"<<endl;
for( i=1;i<=s.CurrentSize;i++)
{cout<<"第"<<i<<"个数"<<":";
cin>>s.Elements[i-1];
}
评论0
最新资源