《我的第一本算法书》数组、栈和队列的Python实现

《我的第一本算法书》数组、栈和队列的Python实现

Python中可以使用自带的List数据结构方便地实现数组、栈和队列的数据结构。

一、数组

数组访问数据十分简单,添加删除数据程序内部步骤较多。

1、数组特点

(1)数据呈线性排列

数据按顺序存储在内存的连续空间内。

(2)数据增加和删除内部执行步骤较多

由于顺序的存储模式,导致增删数据需要对所执行位置后的所有数据都进行挪动,程序内部的步骤较多,效率不如链表高。

(3)可随机访问

数据支持通过下标进行访问。

2、代码实现

创建一个名为arr的List作为数组,放入BlueYellowRed字符串,可以直接通过下标访问它们。

    arr = ['Blue', 'Yellow', 'Red']
    print(arr[0], arr[1], arr[2])

输出结果:

Blue Yellow Red
(1)增加数据

使用List的insert方法:

    arr.insert(1, 'Green')
    print(arr)

输出结果:

['Blue', 'Green', 'Yellow', 'Red']
(2)删除数据

使用List的remove方法:

    arr.remove('Green')
    print(arr)

输出结果:

['Blue', 'Yellow', 'Red']

二、栈

也是一种线性排列的数据结构,但只能访问最新添加的数据。

1、栈的特点 - 先进后出

就像一摞书一样,往上堆叠之后,只能先查看最上面的书,拿开最上面的书后,才能对下方的书进行查看。

2、代码实现

(1)入栈(增加数据)

使用List的append方法:

    stack = []
    stack.append('Blue')
    stack.append('Green')
    stack.append('Red')
(2)出栈(取出/删除数据)

使用List的pop方法:

    print(stack.pop(), stack.pop(), stack.pop())

输出结果:

Red Green Blue

三、队列

也是一种线性排列的数据结构,但只能访问最早添加的数据。

1、队列的特点 - 先进先出

先来的数据先处理,就像排队一样,只能访问队伍最前面的人,最前面的人离开后,才能访问下一个。

2、代码实现

(1)入队(增加数据)

使用List的append方法:

    queue = []
    queue.append('Blue')
    queue.append('Green')
    queue.append('Red')
(2)出队(取出/删除数据)

使用List的pop方法:

    print(queue.pop(0), queue.pop(0), queue.pop(0))

输出结果:

Blue Green Red
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值