Use a stack to enumerate all permutations of a string. Suppose you want to find all permutations of the string meat. Push the string +meat on the stack. While the stack is not empty Pop off the top of the stack. If that string ends in a + (such as tame+) Remove the + and add the string to the list of permutations. Else Remove each letter in turn from the right of the +. Insert it just before the +. Push the resulting string on the stack. For example, after popping e+mta, you push em+ta, et+ma, and ea+mt

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 15SA
icon
Related questions
Question

Use a stack to enumerate all permutations of a string. Suppose you want to find all permutations of the string meat.
Push the string +meat on the stack.
While the stack is not empty
Pop off the top of the stack.
If that string ends in a + (such as tame+)
Remove the + and add the string to the list of permutations.
Else
Remove each letter in turn from the right of the +.
Insert it just before the +.
Push the resulting string on the stack.
For example, after popping e+mta, you push em+ta, et+ma, and ea+mt.

 

in java.

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning