C++ Stack::operator<= 函数



栈是一种遵循 LIFO(后进先出)原则的基本数据结构,这意味着最后添加的元素将首先被移除。

C++ 函数std::stack::operator<=比较两个栈,确定第一个栈是否小于或等于第二个栈。它评估栈的大小和元素进行逐个比较,以确定它们之间的关系。

语法

以下是 std::stack::operator<= 函数的语法:

bool operator<=(const stack <Type, Container>& left, const stack <Type, Container>& right);

参数

  • left - 一个 stack 类型的对象。
  • right - 一个 stack 类型的对象。

返回值

如果左侧的栈小于或等于右侧的栈,则返回 true,否则返回 false。

示例 1

让我们来看下面的例子,我们将使用 <= 运算符比较栈内的元素。

#include <iostream>
#include <stack>

int main(){
   std::stack<int> x;
   x.push(1);
   x.push(2);
   x.push(3);
   if (x.top() <= 5) {
      std::cout << "Elements are Lessthan Or Equal to 5";
   } else {
      std::cout << "Elements are Greaterthan 5";
   }
   return 0;
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Elements are Lessthan Or Equal to 5

示例 2

考虑下面的例子,我们将比较两个栈的大小。

#include <iostream>
#include <stack>

int main(){
   std::stack<int> x, y;
   x.push(11);
   x.push(25);
   y.push(16);
   if (x.size() <= y.size()) {
      std::cout << "X is Lessthan Or Equal To Y";
   } else {
      std::cout << "X Has More Elements Compared To Y";
   }
   return 0;
}

输出

如果我们运行上面的代码,它将生成以下输出:

X Has More Elements Compared To Y

示例 3

在下面的例子中,我们将检查一个栈是否为空或小于或等于另一个栈。

#include <iostream>
#include <stack>

int main(){
   std::stack<int> a, b;
   a.push(12);
   if (a.empty() || a <= b) {
      std::cout << "True";
   } else {
      std::cout << "False";
   }
   return 0;
}

输出

以上代码的输出如下:

False
广告