定义
元素集合。分为无序列表和有序列表。
实现
"""
无序列表抽象数据类型:
List() 创建一个空列表。
add(item) 添加一个之前不存在列表中的元素。修改列表。
remove(item) 移除列表中的一个元素。修改列表。
search(item) 搜索元素。返回布尔值。
isEmpty() 检查列表是否为空。返回布尔值。
length() 列表中元素个数。
append(item) 在列表最后位置添加item。
index(item) 返回元素下标。
insert(pos, item) 在位置pos处添加元素item。
pop() 移除最后一个元素。返回一个元素。
pop(pos) 移除pos上的元素。返回一个元素。
实现无序列表: 链表
必须指明列表中的第一个元素的位置。
Node类
节点是构建链表的基本数据结构。每一个节点对象都必须至少两份信息。
首先,节点必须列表元素,即节点的数据变量。
其次,节点必须保存指向下一个节点的引用。
在构建节点时,需为其提供初始值。
UnorderedList类
基于节点集合来构建,每一个节点都通过显式指向下一个节点。
只要知道第一节点的位置,就可找到其后每个节点。
OrderedList类,需要顺序
OrderedList() 空列表
add(item)
remove(item)
se