用c++初始化栈;按顺序将3 55 2 99 7 32 66和你的学号后三位进栈,输出栈长并遍历输出栈内元素;两元素出栈,输出栈长并输出出栈元素;判断栈是否为空,不空的话就取栈顶元素,并输出
时间: 2024-10-24 10:04:18 浏览: 30
在C++中,你可以使用`std::stack`容器来初始化和操作栈。首先,你需要包含头文件`<stack>`。以下是按照你描述的操作步骤:
1. 初始化栈并压入元素:
```cpp
#include <iostream>
#include <stack>
int main() {
std::stack<int> myStack; // 创建一个整型栈
// 按顺序压入元素
myStack.push(3);
myStack.push(55);
myStack.push(2);
myStack.push(99);
myStack.push(7);
myStack.push(32);
myStack.push(66);
// 获取栈长(元素个数)
int stackLength = myStack.size();
std::cout << "当前栈长: " << stackLength << std::endl;
// 遍历并输出栈内元素
std::cout << "栈内元素依次为: ";
while (!myStack.empty()) { // 检查栈是否为空
std::cout << myStack.top() << " ";
myStack.pop(); // 出栈
}
std::cout << "\n";
// 取前两个元素出栈
if (stackLength >= 2) {
int firstElement = myStack.top();
myStack.pop();
int secondElement = myStack.top();
// 输出剩余栈长
stackLength -= 2;
std::cout << "出栈两元素后,新的栈长: " << stackLength << std::endl;
// 输出出栈元素
std::cout << "出栈的第一个元素是: " << firstElement << ", 第二个元素是: " << secondElement << std::endl;
} else {
std::cout << "栈已空,无法继续出栈。\n";
}
return 0;
}
```
阅读全文