C++ 带有标志c+的If-else语句+;
所以,我有这个方法来检查我的队列数组是否在减少,当我检查时的问题是,如果前两项在减少,它表示整个队列在减少,但我希望它遍历整个数组的每个成员。 递减意味着在队列结束之前,每个整数都优于下一个整数。我的if,else语句是否错误? 如果是递减,则布尔值应返回true,否则应返回false:C++ 带有标志c+的If-else语句+;,c++,arrays,queue,C++,Arrays,Queue,所以,我有这个方法来检查我的队列数组是否在减少,当我检查时的问题是,如果前两项在减少,它表示整个队列在减少,但我希望它遍历整个数组的每个成员。 递减意味着在队列结束之前,每个整数都优于下一个整数。我的if,else语句是否错误? 如果是递减,则布尔值应返回true,否则应返回false: template<class T> bool queue<T>::isDecreasing() const { bool flag=false; for (siz
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;
}
模板
bool队列::isDecreating()常量{
布尔标志=假;
用于(尺寸i=0;i<\u容量;i++){
if(元素[i]>元素[i+1]){
flag=true;
返回标志;
}否则,如果(元素[i]以flag
设置为true
。然后在每次迭代中,使用if
语句检查数组按降序排序的假设是否不正确。如果不正确,则将flag设置为false并中断循环。
此外,循环应该运行n-1
次(n是元素数),因为在每次迭代中,您都在访问当前元素和下一个元素的值。因此,在n-1
th迭代中,您将访问第二个和最后一个元素的值
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;
模板
bool队列::isDecreating()常量{
布尔标志=真;
对于(大小i=0;i<\u容量-1;i++){
if(元素[i]你知道return
语句的意思吗?它的意思是正确地返回值?这与你的问题无关,但我确实希望你的数组元素至少有\u capacity+1
个元素。使用\u capacity-1
而不是\u capacity
你只需要在条件也满足,您需要在更改标志
变量的值后立即中断循环好的,我知道了,谢谢!这非常有用,很高兴我能提供帮助