python数据结构--顺序表的栈和队列

栈的实现过程:

class Seq_Stack:
    def __init__(self):
        self.stack=[]
        self.size=0
    def my_push(self,value):
        self.stack.append(value)
        self.size+=1
    def my_pop(self):
        if self.size<=0:
            return None
        else:
            self.size -= 1
            return self.stack.pop()
    def stack_top(self):
        if self.size<=0:
            return None
        else:
            return self.stack[self.size-1]
    def isempty(self):
        if self.size==0:
            return True
        else:
            return False

 测试: 

seq = Seq_Stack()
print("该栈为空:",seq.isempty())
print(seq.stack_top())
print(seq.stack_top())
seq.my_push(53)
seq.my_push(27)
print(seq.stack_top())

结果: 

该栈为空: True
None
None
27

队列的实现过程:

class Seq_queue:
    def __init__(self):
        self.queue=[]
    def enqueue(self,value):
        self.queue.append(value)
    def dequeue(self):
        if len(self.queue)==0:
            return None
        else:
            return self.queue.pop(0)
    def isempty(self):
        if(len(self.queue)==0):
            return True
        else:
            return False
    def find_size(self):
        return len(self.queue)
    def find_head(self):
        if (len(self.queue) == 0):
            return None
        else:
            return self.queue[0]
    def detail(self):
        print("队列:",end="")
        for i in self.queue:
            print(i,end="   ")
        print(" ")

测试:

my_queue=Seq_queue()
print(my_queue.isempty())
print(my_queue.find_size())
print(my_queue.find_head())
my_queue.enqueue(1)
my_queue.enqueue(2)
my_queue.detail()
my_queue.dequeue()
my_queue.dequeue()
my_queue.detail()
print(my_queue.isempty())
print(my_queue.find_size())
print(my_queue.find_head())

 结果:

True
0
None
队列:1   2    
队列: 
True
0
None

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值