●试题六 阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 设计一个
●试题六
阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
设计一个类模板Sample用于对一个有序数组采用二分法查找元素下标。
【C++程序】
#include<iostream.h>
#define Max 100∥最多元素个数
template<class T>
class Sample
{
T A[Max]:∥存放有序数序
int n:∥实际元素个数
public
Sample(){}∥默认构造函数
Sample(T a[],int i);∥初始化构造函数
int seek(T c);
void disp()
{
for(int i=0;i<n;i++)
cout<<A[i]<<"";
cout<<end1:
}
};
template<class T>
Sample<T>::Sample(T a[],int i)
{
n=i;
for(intj=0;j<i;j++)
(1) ;
}
template<class T>
int Sample<T>::seek(T c)
{
int low=0,high=n-1,mid;
while( (2) )
{
mid=(low+high)/2;
if( (3) )
return mid;
else if( (4) )
low=mid+l;
else
(5) ;
}
return-1;
}
void main()
{
char a[]="acegkmpwxz";
Sample<char>s(a,1。);
cout<<"元素序列:";s.disp();
cout<<"元素′g′的下标:"<<s.seek(′g′)<<endl;
}
参考答案: