如果 else 语句与标志 c++

If else statements with flags c++

本文关键字:标志 c++ 语句 else 如果      更新时间:2023-10-16

所以,我有这种方法来检查我的队列数组是否在减少,当我检查时,问题是如果前两个项在减少,它说整个队列正在减少,但我希望它遍历整个数组的每个成员。 递减意味着每个整数都优于下一个整数,直到队列结束。我的如果,否则陈述是错误的吗? 如果它正在减少,我的布尔值应该返回 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;
}

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

template<class T>
bool queue<T>::isDecreasing() const {
bool flag=true;
for (size_t i = 0; i < _capacity - 1; i++) {
if(elements[i]<=elements[i+1]){
flag=false;
break;
}
}
return flag;

}