- 1 基本数据结构
- 2 栈的概念
- 3 栈的抽象数据类型
- 4 栈的实现
- 5 栈的应用之圆括号平衡
- 6 栈的应用之符号平衡(通用)
- 7 栈的应用之进制转换
- 8 栈的应用之中缀前缀后缀
- 9 中缀后前缀、后缀的转换思路
- 10 栈的应用之中缀转后缀表达式算法的实现
- 11 后缀表达式求值
- 12 队列的概念
- 13 队列的抽象数据类型
- 14 队列的 python 实现
- 15 队列应用之烫手的山芋
- 16 队列应用之 打印任务
- 17 列表
- 18 无序列表的实现
- 19 有序列表 ADT 及实现
- 20 递归和递归三定律
- 21 递归的实现和应用
- 22 递归图形
- 23 宾斯基三角形
- 24 汉诺塔问题(河内塔问题)
- 25 探索迷宫
- 26 动态规划
- 27 排序与查找 顺序查找
- 28 二分查找
- 30 冒泡排序
- 31 选择排序
- 29-1 哈希查找
- 29-2 冲突解决
- 29-3 用哈希表实现映射
- 32 插入排序
- 33 希尔排序
- 34 归并排序
- 35 快速排序
- 36 树的基本概念
- 37 树的实现
- 38 分析树
- 39 树的遍历
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
17 列表
列表
回顾我们对简单数据结构的讨论,一直都是用了 python 语言的列表来实现抽象数据类型。虽然列表是是功能强大,使用简单的集合工具,也被广泛使用,不过,不是所有的编程语言都包括了列表工具。这种情况下,列表的概念就需要程序员自己实现。
列表是是一种数据集合,其数据元素保持之间的相对位置,更清楚地说,我们把这种列表叫做无序列表,这种列表有第 1 个元素,第 2 个元素,第 3 个元素等等。我们能够引用列表的第 1 个元素,最后 1 个元素。为简单起见,我们假设列表没有重复元素。
例如整数集合 54, 26, 93, 17,77 和 31 是一个考试分数的无序列表。注意数值之间用逗号分隔,当然了,在 python 里,列表这样表示[54,26,93,17,77,31] 。
无序列表抽象数据类型
如上所述,无序列表的结构,是一种保持相对位置不变的数据集合。无序列表有以下操作方法:
- List() 创建空列表,不需要参数,返回值是空列表
- add(item) 增加 1 个元素到列表,需要一个元素为参数,无返回值。假设这个元素列表里没有。
- remove(item) 移除 1 个元素,参数为要移除的元素,并修改列表。假设这个元素确实在列表里。
- search(item) 查找列表某元素,参数为要查找的元素,返回是布尔值。
- isEmpty() 测试列表是否为空,不需要参数,返回值是布尔值。
- size() 返回列表的元素数,不需要参数,返回值是个整数。
- append(item) 在尾部增加一个元素作为列表最后一个。参数是要追加的元素,无返回值。假设列表里没有这个元素。
- index(item) 返回元素的索引。参数是数据元素,返回值是它的索引值。假定元素在列表里。
- insert(pos,item) 在指定位置插入一个元素。参数是数据元素和索引,无返回值。假定元素不在列表里,而且列表够大能够放得下这个元素。
- pop() 移除并返回最后 1 个元素。不需要参数,返回值是这个数据元素,假设列表里至少有 1 个元素。
- pop(pos) 移除并返回指定位置的元素。参数是索引,返回值是该数据元素。假定列表里有这个项。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论