Specify the maximum size of the Python stack

Asked 2 years ago, Updated 2 years ago, 50 views

I want to create a function here that allows me to specify the maximum size of the stack, how do I do it?

class MyStack:
    def __init__(self):
        self.myList = []
        self.top = -1
        self.size = 0

    def isEmpty(self):
        if (self.size > 0):
            return False
        else:
            return True

    def push(self, item):
        self.myList.append(item)
        self.size = self.size + 1
        self.top = self.top + 1

    def pop(self):
        if self.isEmpty():
            return None
        else:
            self.ret = self.myList.pop(self.top)
            self.size = self.top - 1
            self.top = self.top - 1
            return self.ret

    def peek(self):
        if self.isEmpty():
            return None
        else:
            return self.myList[self.top]

python python3

2022-09-21 16:55

1 Answers

_init__ made me specify the size and I made it.

class MyStack:
    def __init__(self, max_size):
        self.myList = []
        self.top = -1
        self.size = 0
        self.max_size = max_size

    def isEmpty(self):
        if self.size > 0:
            return False
        else:
            return True

    def push(self, item):
        if self.max_size < self.size:
            self.myList.append(item)
            self.size = self.size + 1
            self.top = self.top + 1
        else:
            raise ValueError('max size limit exceeded')

    def pop(self):
        if self.isEmpty():
            return None
        else:
            self.ret = self.myList.pop(self.top)
            self.size = self.top - 1
            self.top = self.top - 1
            return self.ret

    def peek(self):
        if self.isEmpty():
            return None
        else:
            return self.myList[self.top]

If the size limit is applied, issue ValueError.


2022-09-21 16:55

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.