1,978
社区成员
发帖
与我相关
我的任务
分享
public class SeqList<T>:IListDS<T>
{
private int maxsize;
private T[] data;
private int last;
//构造器
public SeqList(int MaxSize)
{
this.data = new T[MaxSize];
this.maxsize = MaxSize; //线性表的最大容量
this.last = -1; //指向线性表中的最后一个元素
}
//
/// <summary>
/// 清空操作
/// </summary>
public void Clear()
{
this.last = -1;
}
///删除操作
public T Delete(int i)
{
T temp = default(T);
if (IsEmpty() || i < 1 || i > last+1)
{
Console.WriteLine("无法删除,线性表为空或位置不合法");
return temp;
}
if (i == last + 1)
{
temp=data[last--];
return temp;
}
else
{
temp = data[i - 1];
for (int j = i-1; j <= last&&i<=last;i++, j++)
{
data[j]=data[i];
}
--last;
}
return default(T);
}
..............
public IEnumerator GetEnumerator()
{
//this.data
IEnumerator Ienumerator = data.GetEnumerator();
return Ienumerator;
}
/// <summary>
/// 遍历线性表中的元素
/// </summary>
public void PrintSeqList()
{
for (int i = 0; i <= last; i++)
{
if (i == 10)
Console.WriteLine();
Console.Write(data[i]+" ");
}
Console.WriteLine();
}