void inoutStack(vector<char> charStack,vector<char> &charArr,int n,string s,vector<string> &result)
{
if(n==charArr.size())
{
while(charStack.empty()==0)
{
s.push_back(charStack.back());
charStack.pop_back();
}
result.push_back(s);
}
else
{
vector<char> charStack1(charStack);
charStack.push_back(charArr[n]);
inoutStack(charStack,charArr,n+1,s,result);
if(charStack1.empty()==0)
{
s.push_back(charStack1.back());
charStack1.pop_back();
inoutStack(charStack1,charArr,n,s,result);
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
vector<char> charStack;
vector<char> charArr;
charArr.push_back('1');
charArr.push_back('2');
charArr.push_back('3');
charArr.push_back('4');
string s;
vector<string> result;
inoutStack(charStack,charArr,0,s,result);
return 0;
}
数组入栈出栈顺序
最新推荐文章于 2023-05-15 08:55:16 发布