C++栈stack用法

本文概述

  • 句法
  • 模板参数
  • 成员类型
  • 功能
在计算机科学领域, 我们致力于各种程序。他们每个人都有自己的域和实用程序。根据程序创建的目的和环境, 我们有大量数据结构可供选择。其中之一是“堆栈”。在讨论这种数据类型之前, 让我们看一下它的语法。
句法
template< class T, class Container = deque< T> > class stack;

此数据结构使用LIFO技术, 其中LIFO代表后进先出。首先插入的元素将在末尾提取, 依此类推。有一个称为“顶部”的元素, 它是位于最高位置的元素。所有插入和删除操作都是在堆栈的顶部元素本身进行的。
应用区域中的堆栈暗示为容器适配器。
容器应支持以下操作列表:
  • 空的
  • 尺寸
  • 背部
  • 推回
  • pop_back
模板参数T:该参数指定容器适配器将保留的元素的类型。
容器:自变量指定容器的内部对象, 其中包含堆栈的元素。
成员类型下面给出了堆栈成员类型的列表, 并对其进行了简短描述。
成员类型 描述
value_type 指定了元素类型。
container_type 指定了基础容器类型。
size_type 它指定元素的大小范围。
功能借助功能, 可以在编程领域中使用对象或变量。堆栈提供了大量可以在程序中使用或嵌入的功能。相同的列表如下:
功能 描述
(constructor) 该函数用于堆栈容器的构造。
empty 该函数用于测试堆栈是否为空。如果堆栈为空, 则该函数返回true, 否则返回false。
size 该函数返回堆栈容器的大小, 该大小是堆栈中存储的元素数量的度量。
top 该函数用于访问堆栈的顶部元素。该元素起着非常重要的作用, 因为所有插入和删除操作都是在顶部元素上执行的。
push 该函数用于在堆栈顶部插入新元素。
pop 该函数用于删除元素, 堆栈中的元素从顶部删除。
emplace 该函数用于在当前顶部元素上方的堆栈中插入新元素。
swap 该功能用于交换两个引用容器的内容。
关系运算符 非成员函数指定堆栈所需的关系运算符。
uses allocator< stack> 顾名思义, 非成员函数将分配器用于堆栈。
示例:一个简单的程序, 说明基本堆栈功能的用法。
#include < iostream> #include < stack> using namespace std; void newstack(stack < int> ss) { stack < int> sg = ss; while (!sg.empty()) { cout < < '\t' < < sg.top(); sg.pop(); } cout < < '\n'; } int main () { stack < int> newst; newst.push(55); newst.push(44); newst.push(33); newst.push(22); newst.push(11); cout < < "The stack newst is : "; newstack(newst); cout < < "\n newst.size() : " < < newst.size(); cout < < "\n newst.top() : " < < newst.top(); cout < < "\n newst.pop() : "; newst.pop(); newstack(newst); return 0; }

【C++栈stack用法】输出:
The stack newst is :11 22 33 44 55 newst.size() : 5 newst.top() : 11 newst.pop() :22 33 44 55

    推荐阅读