if else语句带有c ++的语句

时间:2017-04-11 10:27:29

标签: c++ arrays queue

所以,我有这个方法来检查我的队列数组是否正在减少,我检查的问题是,如果两个第一项正在减少,它说整个队列正在减少,但我希望它覆盖每个成员整个阵列。 减少意味着每个整数优于下一个整数,直到队列结束。我的if,else语句是错的吗? 如果它在减少,我的布尔值应该返回true,否则它应该返回false:

  template<class T>
bool queue<T>::isDecreasing() const {

    bool flag=false;

    for (size_t i = 0; i < _capacity; i++) {
        if(elements[i]>elements[i+1]){
            flag = true;
            return flag;

        }else if(elements[i]<=elements[i+1]){
            flag=false;
            return flag;
        }
    }
     return flag;
   }

1 个答案:

答案 0 :(得分:0)

从设置为flag的{​​{1}}开始。然后在每次迭代中使用true语句检查您的数组假设是否按降序排序是不正确的。如果不正确,将flag设置为false并打破循环。 此外,循环应该运行if次(n是元素的数量),因为在每次迭代中,您都在访问当前值和下一个元素的值。因此,在n-1次迭代中,您将访问倒数第二个和最后一个元素的值。

n-1

}

相关问题