C++ stack容器
1.stack容器的基本概念
2.stack容器的创建
-
stack()
默认构造函数,创建一个空的 stack 对象。
例如,下面一行代码使用默认的 deque 为底层容器,创建一个空的堆栈对象 s 。
stack<int> s;
-
stack(const stack&)
复制构造函数,用一个 stack 堆栈创建一个新的堆栈。
例如,下面的代码利用 s1 ,创建一个以双向链表为底层容器的空堆栈对象 s2 。
// stack<int, list<int> > s1;
stack<int, list<int> > s2(s1);
3.stack支持的成员函数
成员函数 | 功能 |
---|---|
empty() | 当 stack 栈中没有元素时,该成员函数返回 true;反之,返回 false |
size() | 返回 stack 栈中存储元素的个数。 |
top() | 返回一个栈顶元素的引用,类型为 T&。如果栈为空,程序会报错。 |
pop() | 弹出栈顶元素。 |
杂写
- isdigit()函数判断字符是否为数字,
如果 c 是一个数字,则该函数返回非零值,否则返回 0。 - 将字符串s"123"转换为数字123
int x = 0, j = 0;
while(j < s.size())
{
x = x * 10 + s[j] - '0';
j++;
}
- string类型的读入
string s;
cin >> s; //不能读入空格,以空格、制表符、回车符作为结束标志
getline(cin, s); //可以读入空格和制表符,以回车符作为结束标志