这几天需要实现各种数据结构(泛型).主要实现线性表和链表。
线性表是由n(n>=0)个相同类型的数据元素构成的有限序列。除第一个元素外,其余元素只有一个直接前驱;除最后一个元素外,其余元素只有一个直接后继。
顺序表是把表中元素一个接一个地放进一快地址连续的空间,因此顺序表的实现有数组来完成。
由于这次需要实现多种数据结构,各种数据结构都有相同的方法,比如求长度,清空等。因此定义一个公共接口:
namespace DateStructrues
{
public interface IDS<T>
{
int Count { get;} //求长度
void Clear(); //清空操作
bool IsEmpty{get;} //判断线性表是否为空
}
}
线性表接口:
namespace DateStructrues.Lists
{
interface IListDS<T> : IDS<T>
{
void Append(T item); //附加操作
void Insert(T item, int index); //插入操作
T Delete(int index); //删除操作
T GetElement(int index); //取表元
int Locate(T value); //按值查找
}
}
时间: 2024-12-23 04:21:07