[说明]
设计一个类模板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<<endl;
;
template<class T>
Sample<T>::Sample(T a[],int i)
n=I;
for (int j=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+1;
else
(5) ;
return-1;
void main()
char a[]="acegkmpwxz";
Sample<char>s(a,1.);
cout<<"元素序列:" ;s. disp();
cout<<"元素’g’ 的下标: "<<s. seek(’g’)<<endl;