定义:具有像线一样的性质,由零个或多个数据元素组成的有限序列,除却第一个元素和最后一个元素之外,每一个元素都有一个前驱元素和一个后继元素。第一个元素没有前驱元素,最后一个元素没有后继元素。
数据类型:指一组性质相同的值的集合及定义在此集合上的一些操作的总称。
抽象数据类型(ADT):指一个数学模型及定义在此模型上的一组操作。
抽象数据类型的标准格式
ADT 抽象数据类型名
Data 数据元素间的逻辑关系和定义
Operation 操作
endADT
线性表需要实现的一些方法
InitList():初始化线性表
ListEmpty():判断线性表是否为空
ClearList():清空线性表
GetElem(n,index):查找下标为index的元素n,并返回它
LocateElem(e,index):查找与e相等的元素,并返回其下标index
ListInsert(index,e):在index位置插入一个元素e
ListDelet(index):在index位置删除一个元素
ListLength():得到线性表的长度
线性表的顺序存储具有随机存储的特点,不适合经常进行表的增删操作,但是适合数据的存取操作 。
代码示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Linear_Table
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();
My_LinearTable<int> m = new My_LinearTable<int>();
for(int i = 0; i < 9; i++)
{
int n = r.Next(1, 100);//随机数
m.Add(n);
}
m.PrintLinear();
Console.WriteLine("请输入数字指令:");
Console.WriteLine("1.判断表是否满载");
Console.WriteLine("2.判断表是否为空");
Console.WriteLine("3.清空表格");
Console.WriteLine("4.查找下标为4的元素");
Console.WriteLine("5.判断表有没有和5等值的元素,返回下标值");
Console.WriteLine("6.表6处插入元素16");
Console.WriteLine("7.删除表下标为7的元素");
Console.WriteLine("8.列表总长度");
Console.WriteLine("9.列表当前长度");
while (true)
{
string s = Console.ReadLine();
int n = Int32.