顺序表即线性表的顺序存储结构。它是通过一组地址连续的存储单元对线性表中的数据进行存储的,相邻的两个元素在物理位置上也是相邻的。比如,第1个元素是存储在线性表的起始位置LOC(1),那么第i个元素即是存储在LOC(1)+(i-1)*sizeof(ElemType)位置上,其中sizeof(ElemType)表示每一个元素所占的空间。
追加直接往列表后面添加元素,插入是将插入位置后的元素全部往后面移动一个位置,然后再将这个元素放到指定的位置,将长度加1删除是将该位置后面的元素往前移动,覆盖该元素,然后再将长度减1
实现代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
class SeqList(object):
def __init__(self,maxsize):
self.maxsize = maxsize
self.data = range(maxsize)
self.last = len(self.data) -1
def __getitem__(self, key):
if self.is_empty():
print 'seqlist is empty'
return
elif key<0 or key>self.last:
print 'the given key i