栈的push、pop序列

来源:互联网 发布:windows切换苹果系统 编辑:程序博客网 时间:2024/04/28 07:41
#include <iostream>#include <stack>using namespace std;bool StackPop(int *p1,int *p2,int length);int main(){int p1[]={1,2,3,4,5};int p2[]={4,5,3,3,1};bool xx=StackPop(p1,p2,5);system("pause");return 0;}bool StackPop(int *p1,int *p2,int length){int i=0;int j=0;stack<int> temp1;stack<int> temp2;while (1){if (i<length){temp1.push(p1[i]);}if (p1[i]==p2[j] && i<length && j<length){temp1.pop();i++;j++;}else if(i<length && j<length){i++;}else if(i==length){for (int k=j;k<length;k++){if (p2[j]==temp1.top()){temp1.pop();j++;}else{return false;}}return true;}}}

0 0
原创粉丝点击