找出堆栈数组中的下一个整数是否相同

时间:2017-04-11 09:38:07

标签: c++ arrays stack

所以我试图实现这个方法来知道一个整数是否在我的堆栈数组中连续出现两次。这个整数作为参数,我想知道它是否连续发生两次。不幸的是,我的方法总是返回false,你知道为什么吗?

template<class T>
bool stack<T>::isConsecutive( const T & data ) const{
    bool flag=false;

    for (size_t i = 0; i < _top; i++) {
        if(data==elements[i] && elements[i]==elements[i+1]){
            flag=true;
        }
        else {
            flag=false;
        }
    }
    return flag;
}

1 个答案:

答案 0 :(得分:0)

试试这个

template<class T>
bool stack<T>::isConsecutive( const T & data ) const{
bool flag=false;

for (size_t i = 0; i < _top-1; i++) {
    if(data==elements[i] && elements[i]==elements[i+1]){
        return true;
    }
  }
 return flag;
 }

这会起作用我猜。