(类模板)二分法查找下标元素 p180

//
// Created by 刘彪 on 2020/3/1.
//(类模板)二分法查找下标元素 p180

#include <iostream>
#include <cstdio>
using namespace std;
const int Max = 100;
//#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++) A[j] = a[j];
}

template <class T>
int Sample<T>::seek(T c) {
    int low = 0,high = n-1,mid;
    while(low<=high){
//        mid = (low+high)/2;
        mid = low +(high-low)/2;
        if(A[mid] == c) return mid;
        else if(A[mid]<c) low = mid+1;
        else high = mid - 1;
    }
    return -1;
}

int main(){
    char a[] = "acegkmpwxz";
    Sample<char> s(a,10);
    cout<<"元素序列:";s.disp();
    cout<<"元素'g'的下标"<<s.seek('g')<<endl;
    return 0;
}

全部评论

相关推荐

迷茫的大四🐶:你这个拿去投央国企吧,投私企包过不了的
点赞 评论 收藏
分享
牛客96763241...:杭电✌️也是打完招呼,没人回吗
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务