自己实现的基本数据结构