栈和队列(python代码)

1.栈【Stack】:是只限定在表的一端进行数据插入和删除的线性表

2.队列【Queue 】:是在表的一端进行数据插入,在表的另一端进行数据的删除的线性表

3.栈和队列都是线性表:线性表只是一种线性结构,内存中存储数据和删除数据的方式

4.栈和队列的相同点和不同点

    (1)相同点:

              ①:栈和队列都是线性表

              ②: 插入数据都是表尾进行的

              ③: 都可以通过顺序结构和链式结构实现

              ④: 插入和删除的时间复杂度和空间复杂度是一样的

    (2)不同点:

             ①:删除数据的位置不同,栈在表尾删除,队列在表头删除

             ②: 应用场景不同:

                       a.常用栈的场景:变量的定义、运算表达式、函数的调用、深度优先遍历等

                       b.常见的队列的应用场景:计算机中各种资源的管理和分配,广度优先遍历等

5. 栈的插入和删除过程:

# 栈: 列表的底层维护了一个栈结构

stack = []
print(stack)

# 入栈【向栈中存数据】  : append
stack.append(1)
print(stack)
stack.append(2)
print(stack)
stack.append(3)
print(stack)
stack.append(4)
print(stack)

# 出栈【从栈中取数据】:pop
stack.pop()
print(stack)
stack.pop()
print(stack)
stack.pop()
print(stack)
stack.pop()
print(stack)

"""
特点:先进后出,后进先出
"""

运行结果:

 5.队列的插入和删除的过程

# 队列
import collections

# 创建一个空队列
queue = collections.deque()
print(queue)

# 入队【向队列中添加数据】:append
queue.append(1)
print(queue)
queue.append(2)
print(queue)
queue.append(3)
print(queue)
queue.append(4)
print(queue)

# 出队【向队列中获取数据】:popleft:表头/ pop:表尾
queue.popleft()
print(queue)
queue.popleft()
print(queue)
queue.popleft()
print(queue)
queue.popleft()
print(queue)


"""
特点: 先进先出,后进后出
"""

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还是那个同伟伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值