每日一贴,今天的内容关键字为实现、测试-
好早前就想开始写了,可以始终勤没写.
书参考的是<Data Structures and Algorithms Using Python>基本是照着来.估计也会把面里的标题做做.
看完后算打看微稍难些的<Python Algorithms - Mastering Basic Algorithms in the Python Language>.
基本是自己的学习条记.记录下而已.
扯了这么多蛋.开始.
首先第一个基本的结构是一维Array(前面还有多维的).它是个静态数组.可以代迭,取获设置值.
实现如下:
import ctypes
class Array:
def __init__(self,size):
assert size > 0,"Array size must be >0"
self._size = size
PyArrayType = ctypes.py_object * size
self._elements = PyArrayType()
self.clear(None)
def __len__(self):
return self._size
def clear(self,value):
for i in range(len(self)):
self._elements= value
def __getitem__(self,index):
assert index >= 0 and index < len(self),"Array subsctipt out of range"
return self._elements[index]
def __setitem__(self,index,value):
assert index >= 0 and index < len(self),"Array subsctipt out of range"
self._elements[index] = value