<stack>
Operadores
operator!=
Comprueba si el objeto de pila del lado izquierdo del operador no es igual que el objeto de pila del lado derecho.
bool operator!=(const stack <Type, Container>& left, const stack <Type, Container>& right,);
Parámetros
left
Objeto de tipo stack
.
right
Objeto de tipo stack
.
Valor devuelto
true
si las pilas no son iguales; false
si las pilas son iguales.
Comentarios
La comparación entre los objetos de pila se basa en una comparación en pares de sus elementos. Dos pilas son iguales si tienen el mismo número de elementos y sus elementos respectivos tienen los mismos valores. Si no se cumplen estas condiciones, significa que son distintas.
Ejemplo
// stack_op_me.cpp
// compile with: /EHsc
#include <stack>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
// Declares stacks with vector base containers
stack <int, vector<int> > s1, s2, s3;
// The following would have cause an error because stacks with
// different base containers are not equality comparable
// stack <int, list<int> > s3;
s1.push( 1 );
s2.push( 2 );
s3.push( 1 );
if ( s1 != s2 )
cout << "The stacks s1 and s2 are not equal." << endl;
else
cout << "The stacks s1 and s2 are equal." << endl;
if ( s1 != s3 )
cout << "The stacks s1 and s3 are not equal." << endl;
else
cout << "The stacks s1 and s3 are equal." << endl;
}
The stacks s1 and s2 are not equal.
The stacks s1 and s3 are equal.
operator<
Comprueba si el objeto de pila del lado izquierdo del operador es menor que el objeto de pila del lado derecho.
bool operator<(const stack <Type, Container>& left, const stack <Type, Container>& right);
Parámetros
left
Objeto de tipo stack
.
right
Objeto de tipo stack
.
Valor devuelto
true
si la pila del lado izquierdo del operador es menor que y no igual que la pila del lado derecho del operador; en caso contrario, false
.
Comentarios
La comparación entre los objetos de pila se basa en una comparación en pares de sus elementos. La relación de menor que entre dos objetos de pila se basa en una comparación del primer par de elementos diferentes.
Ejemplo
// stack_op_lt.cpp
// compile with: /EHsc
#include <stack>
#include <list>
#include <iostream>
int main( )
{
using namespace std;
// Declares stacks with list base container
stack <int, list<int> > s1, s2, s3;
s1.push( 2 );
s1.push( 4 );
s1.push( 6 );
s1.push( 8 );
s2.push( 5 );
s2.push( 10 );
s3.push( 2 );
s3.push( 4 );
s3.push( 6 );
s3.push( 8 );
if ( s1 >= s2 )
cout << "The stack s1 is greater than or equal to "
<< "the stack s2." << endl;
else
cout << "The stack s1 is less than "
<< "the stack s2." << endl;
if ( s1>= s3 )
cout << "The stack s1 is greater than or equal to "
<< "the stack s3." << endl;
else
cout << "The stack s1 is less than "
<< "the stack s3." << endl;
// to print out the stack s1 ( by unstacking the elements):
stack <int>::size_type i_size_s1 = s1.size( );
cout << "The stack s1 from the top down is: ( ";
unsigned int i;
for ( i = 1 ; i <= i_size_s1 ; i++ )
{
cout << s1.top( ) << " ";
s1.pop( );
}
cout << ")." << endl;
}
The stack s1 is less than the stack s2.
The stack s1 is greater than or equal to the stack s3.
The stack s1 from the top down is: ( 8 6 4 2 ).
operator<=
Comprueba si el objeto de pila del lado izquierdo del operador es menor o igual que el objeto de pila del lado derecho.
bool operator<=(const stack <Type, Container>& left, const stack <Type, Container>& right);
Parámetros
left
Objeto de tipo stack
.
right
Objeto de tipo stack
.
Valor devuelto
true
si la pila del lado izquierdo del operador es menor o igual que la pila del lado derecho del operador; en caso contrario, false
.
Comentarios
La comparación entre los objetos de pila se basa en una comparación en pares de sus elementos. La relación de menor o igual entre dos objetos de pila se basa en una comparación del primer par de elementos diferentes.
Ejemplo
// stack_op_le.cpp
// compile with: /EHsc
#include <stack>
#include <iostream>
int main( )
{
using namespace std;
// Declares stacks with default deque base container
stack <int> s1, s2, s3;
s1.push( 5 );
s1.push( 10 );
s2.push( 1 );
s2.push( 2 );
s3.push( 5 );
s3.push( 10 );
if ( s1 <= s2 )
cout << "The stack s1 is less than or equal to "
<< "the stack s2." << endl;
else
cout << "The stack s1 is greater than "
<< "the stack s2." << endl;
if ( s1 <= s3 )
cout << "The stack s1 is less than or equal to "
<< "the stack s3." << endl;
else
cout << "The stack s1 is greater than "
<< "the stack s3." << endl;
}
The stack s1 is greater than the stack s2.
The stack s1 is less than or equal to the stack s3.
operator==
Comprueba si el objeto de pila del lado izquierdo del operador es igual al objeto de pila del lado derecho.
bool operator==(const stack <Type, Container>& left, const stack <Type, Container>& right);
Parámetros
left
Objeto de tipo stack
.
right
Objeto de tipo stack
.
Valor devuelto
true
si las pilas son iguales; false
si las pilas no son iguales.
Comentarios
La comparación entre los objetos de pila se basa en una comparación en pares de sus elementos. Dos pilas son iguales si tienen el mismo número de elementos y sus elementos respectivos tienen los mismos valores. Si no se cumplen estas condiciones, significa que son distintas.
Ejemplo
// stack_op_eq.cpp
// compile with: /EHsc
#include <stack>
#include <vector>
#include <iostream>
int main( )
{
using namespace std;
// Declares stacks with vector base containers
stack <int, vector<int> > s1, s2, s3;
// The following would have cause an error because stacks with
// different base containers are not equality comparable
// stack <int, list<int> > s3;
s1.push( 1 );
s2.push( 2 );
s3.push( 1 );
if ( s1 == s2 )
cout << "The stacks s1 and s2 are equal." << endl;
else
cout << "The stacks s1 and s2 are not equal." << endl;
if ( s1 == s3 )
cout << "The stacks s1 and s3 are equal." << endl;
else
cout << "The stacks s1 and s3 are not equal." << endl;
}
The stacks s1 and s2 are not equal.
The stacks s1 and s3 are equal.
operator>
Comprueba si el objeto de pila del lado izquierdo del operador es mayor que el objeto de pila del lado derecho.
bool operator>(const stack <Type, Container>& left, const stack <Type, Container>& right);
Parámetros
left
Objeto de tipo stack
.
right
Objeto de tipo stack
.
Valor devuelto
true
si la pila del lado izquierdo del operador es mayor que y no igual que la pila del lado derecho del operador; en caso contrario, false
.
Comentarios
La comparación entre los objetos de pila se basa en una comparación en pares de sus elementos. La relación de mayor que entre dos objetos de pila se basa en una comparación del primer par de elementos diferentes.
Ejemplo
// stack_op_gt.cpp
// compile with: /EHsc
#include <stack>
#include <list>
#include <iostream>
int main( )
{
using namespace std;
// Declares stacks with list base container
stack <int, list<int> > s1, s2, s3;
s1.push( 1 );
s1.push( 2 );
s1.push( 3 );
s2.push( 5 );
s2.push( 10 );
s3.push( 1 );
s3.push( 2 );
if ( s1 > s2 )
cout << "The stack s1 is greater than "
<< "the stack s2." << endl;
else
cout << "The stack s1 is not greater than "
<< "the stack s2." << endl;
if ( s1> s3 )
cout << "The stack s1 is greater than "
<< "the stack s3." << endl;
else
cout << "The stack s1 is not greater than "
<< "the stack s3." << endl;
}
The stack s1 is not greater than the stack s2.
The stack s1 is greater than the stack s3.
operator>=
Comprueba si el objeto de pila del lado izquierdo del operador es mayor o igual que el objeto de pila del lado derecho.
bool operator>=(const stack <Type, Container>& left, const stack <Type, Container>& right);
Parámetros
left
Objeto de tipo stack
.
right
Objeto de tipo stack
.
Valor devuelto
true
si la pila del lado izquierdo del operador es estrictamente menor que la pila del lado derecho del operador; en caso contrario, false
.
Comentarios
La comparación entre los objetos de pila se basa en una comparación en pares de sus elementos. La relación de mayor o igual entre dos objetos de pila se basa en una comparación del primer par de elementos diferentes.
Ejemplo
// stack_op_ge.cpp
// compile with: /EHsc
#include <stack>
#include <list>
#include <iostream>
int main( )
{
using namespace std;
// Declares stacks with list base container
stack <int, list<int> > s1, s2, s3;
s1.push( 1 );
s1.push( 2 );
s2.push( 5 );
s2.push( 10 );
s3.push( 1 );
s3.push( 2 );
if ( s1 >= s2 )
cout << "The stack s1 is greater than or equal to "
<< "the stack s2." << endl;
else
cout << "The stack s1 is less than "
<< "the stack s2." << endl;
if ( s1>= s3 )
cout << "The stack s1 is greater than or equal to "
<< "the stack s3." << endl;
else
cout << "The stack s1 is less than "
<< "the stack s3." << endl;
}
The stack s1 is less than the stack s2.
The stack s1 is greater than or equal to the stack s3.