【说明】 设计一个类模板SamPle用于对一个有序数组采用二分法查找元素下标。 【C
问题:
【说明】 设计一个类模板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( 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+|; else (5) ; } return-1; } void main( ) { char a[ ] ="acegkmpwxz"; Sample < char > s(a, 1); cout<<"元素序列:" ;s. disp( ); cout<<"元素’g’的下标:"<<s. seek(’g’) <<endl; }