Given a string of characters. The task is to write a program to print the characters of this string in sorted order using stack.
Input: str = "geeksforgeeks" Output: eeeefggkkorss Input: str = "hello395world216" Output: 123569dehllloorw
- Initialize two stacks, one stack and other tempstack.
- Insert the first character of the string in the stack.
- Iterate for all the characters in the string
- if the ith character is greater than or equal to the top element of the stack, then push the element.
- if the ith character is not greater, then push all the elements of the stack into tempstack, and then push the character into the stack. After this, push all the greater elements of tempstack to stack.
Print the all elements of the stack in reverse order when the iteration is completed.
Below is the implementation of the above approach:
An efficient approach using hashing has been implemented in this post
- Sort string of characters
- Sort a stack using a temporary stack
- Stack | Set 3 (Reverse a string using stack)
- Sort a stack using recursion
- Minimal moves to form a string by adding characters or appending string itself
- Sum of the alphabetical values of the characters of a string
- Average of ASCII values of characters of a given string
- Check if the characters of a given string are in alphabetical order
- Count pairs of characters in a string whose ASCII value difference is K
- Reduce the string by removing K consecutive identical characters
- Count characters in a string whose ASCII values are prime
- Check if the characters in a string form a Palindrome in O(1) extra space
- Program to find the product of ASCII values of characters in a string
- Program to find the largest and smallest ASCII valued characters in a string
- Reduce string to shortest length by deleting a pair of same adjacent characters
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.