SWUSTOJ #1046 链栈基本操作的实现

SWUSTOJ #1046 链栈基本操作的实现

  • 题目
    • 输入
    • 输出
    • 样例输入
    • 样例输出
  • 源代码

题目

编程实现链栈的初始化、入栈、出栈和计算栈中元素个数等基本操作。(测试数据为整数。)

输入

第一行为入栈元素的个数;
第二行为入栈元素;
出栈操作的次数n。

输出

n次出栈后的栈顶元素。
如果是空栈,输出-1。

样例输入

4
1 2 3 4
2

样例输出

2

源代码

#include<iostream>
#include<stack>
#include<algorithm>using namespace std;int main()
{stack<int> St;int arr[1000];int n;cin >> n;for (int i = 0; i < n; i++){cin >> arr[i];St.push(arr[i]);}int x;cin >> x;for (int i = 0; i < x&&!St.empty(); i++){St.pop();}if (St.empty())cout << "-1";elsecout << St.top();return 0;
}

SWUSTOJ #1046 链栈基本操作的实现

SWUSTOJ #1046 链栈基本操作的实现

  • 题目
    • 输入
    • 输出
    • 样例输入
    • 样例输出
  • 源代码

题目

编程实现链栈的初始化、入栈、出栈和计算栈中元素个数等基本操作。(测试数据为整数。)

输入

第一行为入栈元素的个数;
第二行为入栈元素;
出栈操作的次数n。

输出

n次出栈后的栈顶元素。
如果是空栈,输出-1。

样例输入

4
1 2 3 4
2

样例输出

2

源代码

#include<iostream>
#include<stack>
#include<algorithm>using namespace std;int main()
{stack<int> St;int arr[1000];int n;cin >> n;for (int i = 0; i < n; i++){cin >> arr[i];St.push(arr[i]);}int x;cin >> x;for (int i = 0; i < x&&!St.empty(); i++){St.pop();}if (St.empty())cout << "-1";elsecout << St.top();return 0;
}