链表的数据结构依托的是列表数据类型
链表的特征:
链表的存储特性
空间占用
class Array(object):
def __init__(self):
self.items = []
def add(self,a, b):
'''
a: object
b: object
0: index
'''
self.items.append(a)
self.items.insert(0, b)
return ""
def delete(self, e, f):
'''
remove: delete object
pop: delete elements in the oder of index
pop: default: the last element
'''
self.items.remove(e)
self.items.pop(f)
self.items.pop(-1)
return self.items # 方便对照删除前和删除后列表的状态
def modify(self, g):
"""
g : object
"""
self.items[1] = g
return ""
def query(self, h):
return len(self.items), self.items.index(h)
def ranking(self):
self.items.sort(reverse=True)
print(self.items)
self.items.sort()
print(self.items)
return ""
def listing(self):
for i, j in enumerate(self.items):
print("The index is", i, "The element is", j)
for k in self.items:
print(k)
for l in range(0, len(self.items)):
print("The index is ", l, "the element is", self.items[l])
return ""
a = Array()
print("增加元素,此函数运用两种方法增加,所以需要传入两个值")
a.add(100, 99)
a.add(77, 66)
print("对数组中的所有元素遍历,这里运用了三种方法,所以会有三个输出")
print(a.listing())
print("这里是对数组的元素进行修改,默认对索引值为1的元素进行修改")
a.modify(88)
print("这里对元素进行排序,默认升序,还增加了逆序排序")
print(a.ranking())
print(a.listing())
print("这里是对元素进行查询,第一个返回值是数组的长度,第二个返回值是查询的这个元素的索引位置")
print(a.query(88))
print("指定删除元素,前两种方法运用不同方法删除对象,最后一个方法默认删除最后一个元素")
print(a.delete(100, 1))
'''
"""
1,数组的元素必须是同一个数据类型
2,区分那些方法需要传入值,那些方法不需要返回值(将返回值设置为空,免得看到None)
3,注意那些方法的操作是原地进行的,不能打印,函数自动返回操作后的结果和直接用return返回操作后的数据结构
'''
//