using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 线性表
{
//顺序表的类
class SqListClass
{
const int MaxSize = 100;
//存放顺序表的元素
public string[] data;
//存放长度
public int length;
//构造函数
public SqListClass()
{
data = new string[MaxSize];
length = 0;
}
#region 顺序表的基本运算算法
#region 由sqlit中的元素建成表
public void CreateList(string[] split)
{
int i;
for (i = 0; i < split.Length; i++)
{
data[i] = split[i];
length = 1;
}
}
#endregion
#region 将L中的元素构成字符串后返回
public string DispList()
{
int i;
if (length > 0)
{
string mystr = data[0];
for (i = 0; i < length; i++)
{
mystr += "" + data[i];
}
return mystr;
}
else
{
return "空的";
}
}
#endregion
#region 求顺序表的长度
public int ListLength()
{
return length;
}
#endregion
#region 求某序号的元素的值
public bool GetElem(int i, string e)
{
if (i < 1 || i > length)
{
return false;
}
else
{
e = data[i - 1];
return true;
}
}
#endregion
#region 按照元素值查找该序号
public int LocateElem(string e)
{
int i = 0;
while (i < length && string.Compare(data[i], e) != 0)
{
i++;
}
if (i > length)
{
return 0;
}
else
{
return i + 1;
}
}
#endregion
#region 插入数据元素
public bool ListInsert(int i, string e)
{
int j;
if (i < 1 || i > length + 1)
{
return false;
}
else
{
for (j = length; j >= i; j--)
{
data[j] = data[j - 1];
data[i - 1] = e;
length++;
}
return true;
}
}
#endregion
#region 删除数据元素
public bool ListDelete(int i, ref string e)
{
int j;
if (i < 1 || i > length)
{
return false;
}
else
{
e = data[i];
for (j = i - 1; j < length - 1; j++)
{
data[j] = data[j + 1];
length--;
}
return true;
}
}
#endregion
#endregion
}
}
说点什么
欢迎讨论