KnowledgeBoat Logo
|

Computer Science

Write a Python program to sort a Stack in ascending order without using an additional Stack.

Python

Python Stack

3 Likes

Answer

def pushSorted(s, num):
	if len(s) == 0 or num > s[-1]:
		s.append(num)
		return
	else:
		t = s.pop()
		pushSorted(s, num)
		s.append(t)

def doSort(s):
	if len(s) != 0:
		t = s.pop()
		doSort(s)
		pushSorted(s, t)

s = []
s.append(12)
s.append(5)
s.append(-3)
s.append(4)
s.append(10)

print("Stack before sorting: ")
print(s)

doSort(s)

print("\nStack after sorting: ")
print(s)

Output

Stack before sorting: 
[12, 5, -3, 4, 10]

Stack after sorting:
[-3, 4, 5, 10, 12]

Answered By

3 Likes


Related Questions