美文网首页
python数据结构实现(栈和链栈)

python数据结构实现(栈和链栈)

作者: 不忘初心_悟空 | 来源:发表于2020-09-27 18:12 被阅读0次

class Stack:
    def __init__(self, limit: int 10):
        self.stack = []
        self.limit = limit
    
    def __bool__(self):
        return bool (self.stack)
        
    def __str__(self):
        return str(self.stack)
        
    def push(self, data):
        if len(self.stack) >= self.limit:
            raise IndexError("out of limit)
        self.stack.append(data)
    
    def pop(self):
        return self.stack.pop()
    
    def peek(self):
        return self.stack[-1]
    
    def is_empty(self):
        return not bool(self.stack)
        
    def is_full(self):
        return self.size() == self.limit
    
    def size(self):
        return len(size)
    
    def __contains__(self, item):
        return item in self.stack

链栈


class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class LinkedStack:
    def __init__(self):
        self.top = None
    
    def is_empty(self):
        return self.top is None
    
    def push(self, item):
        new_data= Node(item)
        if self.empty():
            self.top = new_data
        else:
            new_data.next = self.top
            self.top = new_data
    
    def pop(self):
        if self.is_empty():
            raise IndexError("pop from empty stack")
        else:
            temp = self.top
            self.top = temp.next
            return temp.data

相关文章

网友评论

      本文标题:python数据结构实现(栈和链栈)

      本文链接:https://www.haomeiwen.com/subject/dfpluktx.html