zoukankan      html  css  js  c++  java
  • python数据结构实现(栈和链栈)

    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
    
  • 相关阅读:
    js 设计模式
    jquery 概述
    Node.js最新Web技术栈(2015年5月)
    this
    gulp
    bootstrap modal
    jsTree问题
    iterm2 学习笔记
    knowledge_map 修改笔记
    handsontable 问题
  • 原文地址:https://www.cnblogs.com/changting/p/13741074.html
Copyright © 2011-2022 走看看