元素返回[Python]python算法入门 -- 栈(stack)

工作之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下元素返回

    读书笔记

    ref:http://interactivepython.org/courselib/static/pythonds/BasicDS/stacks.html

    Stack : LIFO last-in first-out

    活生中的例子: 放书,浏览器录记等

    stack常通的操纵:

    Stack() 立建一个空的栈象对

    push() 把一个元素添加到栈的最顶层

    pop()

    删除栈最顶层的元素,并返回这个元素

    peek()

    返回最顶层的元素,其实不删除它

    isEmpty()

    判断栈是不是为空

    size()

    返回栈中元素的个数

    简略案例以及操纵结果:

Stack Operation	          Stack Contents     Return Value

	s.isEmpty()	    []	               True

	s.push(4)	    [4]	 

	s.push('dog')	    [4,'dog']	 

	s.peek()	    [4,'dog']	       'dog'

	s.push(True)	    [4,'dog',True]	 

	s.size()	    [4,'dog',True]	    3

	s.isEmpty()	    [4,'dog',True]	    False

	s.push(8.4)	    [4,'dog',True,8.4]	 

	s.pop()	            [4,'dog',True]	    8.4

	s.pop()	            [4,'dog']	        True

	s.size()	    [4,'dog']	        2
    每日一道理
“上下五千年,龙的看火不灭;古有愚公志,而今从头越…… ”站在新世纪的门槛上,我们的追求就是让祖国灿烂的喜悦飞扬在美好的明天……

    这里用使python的list象对模拟栈的实现:

#coding:utf8

class Stack:

    """模拟栈"""

    def __init__(self):

        self.items = []

        

    def isEmpty(self):

        return len(self.items)==0 

    

    def push(self, item):

        self.items.append(item)

    

    def pop(self):

        return self.items.pop() 

    

    def peek(self):

        if not self.isEmpty():

            return self.items[len(self.items)-1]

        

    def size(self):

        return len(self.items) 

    

    

s=Stack()

print(s.isEmpty())

s.push(4)

s.push('dog')

print(s.peek())

s.push(True)

print(s.size())

print(s.isEmpty())

s.push(8.4)

print(s.pop())

print(s.pop())

print(s.size())

文章结束给大家分享下程序员的一些笑话语录: 不会,Intel会维持高利润,也会维持竞争局面,国外的竞争不是打死对方的那种。你看日本有尼康,佳能,索尼,都做相机,大家都过得很滋润。别看一堆厂,其实真正控制的是后面的那几个财团——有些竞争对手,后面其实是一家人。

你可能感兴趣的:(python)