建立一个线性表
- 首先了解线性表的操作:
- 随机存取:获取或设置指定索引处的数据元素值。(支持索引器)
- 插入操作:将数据元素值插入到指定索引处。
- 移除操作:移除线性表指定索引处的数据元素值。
- 查找操作:寻找具有特征值域的结点并返回其下标。
- 得到表长:获取线性表中实际包含数据元素的个数。
- 是否为空:判断线性表中是否包含数据元素。
- 清空操作:移除线性表中的所有数据元素。
首先建立一个类库(这里我用的是Datasruct),在类库中建立一个接口或者抽象类来定义线性表
具体操作如下:
public interface ILinearList<T>where T:IComparable<T>//定义了一个接口ILinearList和一个泛型T(让T实现IComparable的接口,可比较);
{
int Length { get; }//得到线性表当前的长度;
T this [int index] { get;set; }//定义了一个索引器,达到随机存取的目的;
void Clear();//清空表中的元素;
bool IsEmpty();//判断表中的元素是否为空;
void Insert(int index, T data);//插入操作(再index处插入T类型所给的数据)
void Remove(int index);//移除操作;
int Search(T data);//查询操作;
}
一.用顺序储存的方式来定义线性表中的方法
顺序表:利用顺序存储结构(即利用数组)实现的线性表。
定义一个类SeqList来实现上面定义的ILinearList这个接口(泛型):
实现接口就要实现ILinearList中定义的方法,所以在顺序表这个类中写如下代码。代码较长
此时顺序表中的方法就写完了,在主程序中引用一下你定义的这个类库,并且在Program.cs中引用这个命名空间。
最后得到运行结果与预想的一致: