所以,我有这个方法来检查我的队列数组是否正在减少,我检查的问题是,如果两个第一项正在减少,它说整个队列正在减少,但我希望它覆盖每个成员整个阵列。 减少意味着每个整数优于下一个整数,直到队列结束。我的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;
}
答案 0 :(得分:0)
从设置为flag
的{{1}}开始。然后在每次迭代中使用true
语句检查您的数组假设是否按降序排序是不正确的。如果不正确,将flag设置为false并打破循环。
此外,循环应该运行if
次(n是元素的数量),因为在每次迭代中,您都在访问当前值和下一个元素的值。因此,在n-1
次迭代中,您将访问倒数第二个和最后一个元素的值。
n-1
}