'''
线性结构:内存连续、下标访问。如数组、列表。内存连续,很容易通过下标来进行访问。
Python内置数组array:
用的不是很多;
只能同一类型;如数值、字符
python中list内置方法的时间复杂度:
init————O(1),生成一个列表对象;
append————O(1)至O(3)的复杂度;
insert————O(n)
pop————O(1)
remove————O(n)
'''
from array import array
#实现一个定长的数组
class Array(object):
def __init__(self,size=20):
self._size = size
self._items = [None] * size
def __getitem__(self, item):
return self._items[item]
def __setitem__(self, key, value):
self._items[key] = value
def __len__(self):
return self._size
def clear(self,value=None):
for i in range(self._size):
self._items[i] = value
def __iter__(self):
for item in self._items:
yield item
def test_array():
size = 10
a = Array(size)
a[0] = 1
assert a[0] == 1
a.clear()
assert a[0] == None
test_array()