Hi, could you please tell me the big O notation for this function? Thanks!
Hi, could you please tell me the big O notation for this function? Thanks!
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 21SA
Related questions
Question
Hi, could you please tell me the big O notation for this function? Thanks!
![# takes in a stack as an argument
def sort(s):
3
3
3
-
3
J
3
3
J
3
3
3
stack1 = Stack()
stack2= Stack()
stack3= Stack()
for i in range(s.get_size()):
stack1.push(s.pop())
stack2.push(stack1.pop())
for j in range (stack1.get_size()):
if stack1.peek() >= stack2.peek ():
stack2.push(stack1.pop())
elif stack1.peek() <= stack2.peek ():
for k in range (stack2.get_size()):
if stack1.get_size() == 0:
print (stack2)
exit()
stack3.push(stack2.pop())
if stack2.get_size() > 0:
if stack1.peek() >= stack2.peek() and stack1.peek() <= stack3.peek ():
else:
stack2.push(stack1.pop())
for r in range (stack3.get_size()):
print (stack2)
stack2.push(stack3.pop())
stack2.push(stack1.pop())
for r in range (stack3.get_size()):
stack2.push(stack3.pop())
for in range (stack3.get_size()):
stack2.push(stack3.pop())](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F442cdeaf-d6f5-4c90-9eca-defd0049fe9f%2F3cb671c1-99f5-4c49-af8c-defd2b3e1076%2Flrx4bxa_processed.png&w=3840&q=75)
Transcribed Image Text:# takes in a stack as an argument
def sort(s):
3
3
3
-
3
J
3
3
J
3
3
3
stack1 = Stack()
stack2= Stack()
stack3= Stack()
for i in range(s.get_size()):
stack1.push(s.pop())
stack2.push(stack1.pop())
for j in range (stack1.get_size()):
if stack1.peek() >= stack2.peek ():
stack2.push(stack1.pop())
elif stack1.peek() <= stack2.peek ():
for k in range (stack2.get_size()):
if stack1.get_size() == 0:
print (stack2)
exit()
stack3.push(stack2.pop())
if stack2.get_size() > 0:
if stack1.peek() >= stack2.peek() and stack1.peek() <= stack3.peek ():
else:
stack2.push(stack1.pop())
for r in range (stack3.get_size()):
print (stack2)
stack2.push(stack3.pop())
stack2.push(stack1.pop())
for r in range (stack3.get_size()):
stack2.push(stack3.pop())
for in range (stack3.get_size()):
stack2.push(stack3.pop())
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 3 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Knowledge Booster
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.Recommended textbooks for you
![C++ Programming: From Problem Analysis to Program…](https://www.bartleby.com/isbn_cover_images/9781337102087/9781337102087_smallCoverImage.gif)
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
![C++ Programming: From Problem Analysis to Program…](https://www.bartleby.com/isbn_cover_images/9781337102087/9781337102087_smallCoverImage.gif)
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning