C++ 找出堆栈数组中的下一个整数是否相同
因此,我试图实现这个方法,以了解一个整数在堆栈数组中是否连续出现两次。这个整数作为一个参数,我想知道它是否连续发生两次。不幸的是,我的方法总是返回false,你知道为什么吗C++ 找出堆栈数组中的下一个整数是否相同,c++,arrays,stack,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
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;
}
模板
布尔堆栈::isconsecuritive(常量和数据)常量{
布尔标志=假;
对于(大小i=0;i<\u top;i++){
if(数据==元素[i]&&elements[i]==元素[i+1]){
flag=true;
}
否则{
flag=false;
}
}
返回标志;
}
试试这个
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;
}
模板
布尔堆栈::isconsecuritive(常量和数据)常量{
布尔标志=假;
对于(大小i=0;i<\u top-1;i++){
if(数据==元素[i]&&elements[i]==元素[i+1]){
返回true;
}
}
返回标志;
}
我想这会有用的。试试这个
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;
}
模板
布尔堆栈::isconsecuritive(常量和数据)常量{
布尔标志=假;
对于(大小i=0;i<\u top-1;i++){
if(数据==元素[i]&&elements[i]==元素[i+1]){
返回true;
}
}
返回标志;
}
我想这会起作用。当您找到连续数字的实例时,您的标志将重置为false,因为您不会中断/返回,而且
i<\u top
可能应该是i<\u top-1
,此时假设\u top
是堆栈的大小,ub被调用。我添加了return语句,它成功了!谢谢你,当你找到一个连续数字的实例时,你的标志将被重置为false,因为你不会中断/返回,而且i<\u top
应该是i<\u top-1
,此时假设\u top
是堆栈的大小,ub被调用。我添加了return语句,它成功了!谢谢你你可以摆脱标志
它总是假
你可以摆脱标志
它总是假