#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

#### Categories

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.
Welcome to the new platform of Programmers Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use it's exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

# problem on stack

Posts: 3Member
hi,
i am a student of mca. i have a problem for my assignment. i need help from the esteemed members.

suppose the input to a stack is 1,2,3,4,5 in the order, i.e., 1 comes first,then 2 and so on. Which of the following rearrangements can be obtained in the output order? for those that can, explain how, giving the sequence of operations. for those outputs that cannot be so obtained, explaing why.
1) 1 2 4 5 3
2) 2 1 4 3 5
3) 2 1 5 3 4
4) 3 1 2 4 5

ok. thanks for your help in advance
· ·

• Posts: 6,519Member
[color=Blue]"Elements are removed from the stack in the reverse order to the order of their addition."

[/color]
· ·
• Posts: 3Member
thanks a lot
but my doubt is when we pop an element from the stack can we store it in a variable? if we can then all the four output order is possible. isnt it? when we pop an element its removed from the stack. can we re introduce the element to the same stack?
· ·
• Posts: 1Member
1) and 2) are correct.

· ·
• Posts: 1Member
Yes, friend
we can do it.....we can put all poped element again into the same stack..just create variable for each poped element n store...n as stack is empty push all those var. one by one into the stack...

its my pleasure to answer your question......
have a nice weekend
· ·
• Posts: 754Member
: suppose the input to a stack is 1,2,3,4,5 in the order, i.e., 1
: comes first,then 2 and so on. Which of the following rearrangements
: can be obtained in the output order? for those that can, explain
: how, giving the sequence of operations. for those outputs that
: cannot be so obtained, explaing why.
: 1) 1 2 4 5 3
: 2) 2 1 4 3 5
: 3) 2 1 5 3 4
: 4) 3 1 2 4 5

Well, one can obtain any of these, when needed:

[code]
//Creates the std::stack as described
const std::stack s = CreateStack();

//Copy it to a std::vector
const std::vector v(s);

//Shuffle it!
std::random_shuffle(v.begin(),v.end());
[/code]
· ·