Amazing-Python-Scripts

Форк
0
/
Menu_Driven_Code_for_Stack.py 
95 строк · 2.0 Кб
1
"""
2
Author: Himanshu Agarwal
3
Github: himanshu-03 (http://github.com/himanshu-03)
4
LinkedIn: agarwal-himanshu (https://linkedin.com/in/agarwal-himanshu)
5

6
# Menu Driven Code for Stack
7
"""
8

9

10
class S:
11
    stack = []
12
    MaxSize = 0
13
    tos = 0
14

15
    def createStack(self, size):
16
        S.tos = -1
17
        S.MaxSize = size
18
        for i in range(0, S.MaxSize):
19
            S.stack.append(0)
20
        print('Stack created of size', len(S.stack))
21
        print(S.stack)
22

23
    def push(self, e):
24
        S.tos += 1
25
        S.stack[S.tos] = e
26
        print('Element pushed')
27

28
    def pop(self):
29
        temp = S.stack[S.tos]
30
        S.tos -= 1
31
        return temp
32

33
    def isFull(self):
34
        if S.tos == S.MaxSize-1:
35
            return True
36
        else:
37
            return False
38

39
    def isEmpty(self):
40
        if S.tos == -1:
41
            return True
42
        else:
43
            return False
44

45
    def peek(self):
46
        return (S.stack[S.tos])
47

48
    def printStack(self):
49
        for i in range(S.tos, -1, -1):
50
            print(i, S.stack[i])
51

52

53
# Main Code
54
o = S()
55
o.createStack(int(input('Enter size: ')))
56
while True:
57
    print('------------')
58
    print('1.Push\n2.Pop\n3.Peek\n4.Print\n0.Exit')
59
    print('------------')
60

61
    ch = int(input('Enter your choice: '))
62

63
    if ch == 1:
64
        if o.isFull() != True:
65
            data = int(input('Enter the element to push: '))
66
            o.push(data)
67
            print('Element pushed:', data)
68
        else:
69
            print('\nStack is full..!!')
70

71
    elif ch == 2:
72
        if o.isEmpty() != True:
73
            print('Element popped:', o.pop())
74
        else:
75
            print('\nStack is empty..!!')
76

77
    elif ch == 3:
78
        if o.isEmpty() != True:
79
            print('Peeked Element', o.peek())
80
        else:
81
            print('\nStack is empty..!!')
82

83
    elif ch == 4:
84
        if o.isEmpty() != True:
85
            print('ELements in stack are: ')
86
            o.printStack()
87
        else:
88
            print('\nStack is empty..!!')
89

90
    elif ch == 0:
91
        break
92

93
    else:
94
        print('Wrong Input')
95
1
96

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.