题目05302012 [1]

来源:互联网 发布:大学生旅游攻略 知乎 编辑:程序博客网 时间:2024/06/01 07:50
/*一个序列判断是不是另一个序列栈顺序的合法输出*/#include <iostream>#include <stack>bool isTheStack(int a[], int b[], int n){std::stack<int> ts;int i = 0; int j = 0;while(i < n && j < n){if(ts.empty() || ts.top() != b[j])ts.push(a[++i]);else{ts.pop();j++;}}return ts.empty();}int main(){int a[] = {1, 2, 3, 4, 5};int b[] = {5, 4, 2, 3, 1};std::cout << isTheStack(a, b, 5) << std::endl;return 0;}

原创粉丝点击