用于数据结构的简单备忘录线性表

线性表

线性表是线性结构的抽象。线性结构的特点是结构中的数据元素之间是一对一的线性关系。
数据元素之间的位置关系是由一个:
除了第一个位置中的数据元素外,其他数据元素位置的前面只有一个数据元素。
除了最后一个位置外,其他数据元素的位置只有一个元素。
线性表通常表示为:l =(d,r)
d是一组有限的数据元素。
r是数据元素之间的一组有限的关系。

线性表的基本运算:
复制代码代码如下所示:
IListDS {公共接口
Int(长度); / /问长度
空(清除);空
布尔(空); / /子空间
空追加(T项);
空插入(t项,int i);
t删除(int I);删除
T getelement(int i); / /带表元素
int定位(t值);根据搜索的值
}

顺序表

序列表是线性表的顺序存储(序列存储)。它指的是数据元素(序列列表),它将内存中的连续地址保存在内存中的线性表中。它具有随机存取的特性。

w:每个数据元素都有W存储单元。
序列表(基址)的基址
Loc(Ai)= LOC(A1)+(i-1)*宽1 <=我< = n

为了理解订单列表,闪电研究了这样一个例子,感兴趣的朋友可以在自己的机器上编写。
整数序列表LA和LB有数据类型,它们的数据元素从由小到大排列,并编译成一个表LC,它要求LC中的数据元素也按升序排列。
算法思想:
为了扫描数据元素La和Lb,La和Lb的数据元素,数据元素将一个较小的值赋给LC,所以直到一个顺序表进行扫描,然后在剩下的未完成的数据元素的顺序表可以分为LC,LC的能力能够把握住两添加La和Lb。表的长度
这个想法表明:
复制代码代码如下所示:
详细说明:公共课:IListDS {
私人诠释为 / /;顺序表的大小
用于序列表中的数据存储元素的私有t - }数据
最后一个元素位置。

构造函数
详细说明:公众(int的大小)
{
数据=新的t大小};
尺寸大小=;
最后= 1;如果表的顺序是空的,最后= 1
}
/ /索引
公开此{索引}
{
获取{数据} { };}
设置{数据{ } =值;}
}
最后一个元素的位置属性
public int上
{
{ }最后得到回报;
}
属性/容量
public int不能
{
得到的回报为{;}
集合{ MAXSIZE =值;}
}
确定序列表是否为空。
市民bool IsEmpty()
{
如果(最后= 1)
返回true;
其他的
返回false;
}
确定序列表是否充满
市民bool IsFull()
{
如果(最后= =为1)
返回true;
其他的
返回false;
}
对于序列表的长度
市民int GetLength()
{
返回最后+ 1;
}
空订单
公共空白清除()
{
最后= 1;
}
在表元素的顺序的结尾处
公共空白追加(T项)
{
如果(IsFull())
{
console.writeline(名单已满。);
返回;
}
数据{最后一个} =项;
}

按照表的顺序,插入一个数据元素的数据元素
公共空插入(t项,int i)
{
如果(IsFull())
返回;
如果(我最后+ 2)
返回;
如果(= =最后+ 2)
数据{最后+ 1 } =项;
其他的
{
为(int =最后;j = i - 1;j)
{
数据{ + 1 } =数据{ };
}
数据{ i - 1 } =项;
}
+最后;
}
删除订单表单的数据元素
公共T删除(int I)
{
默认值(t);
如果(IsEmpty())
返回TMP;
如果(我最后+ 1)
返回TMP;
如果(= =最后+ 1)
数据= {;
其他的
{
TMP =数据{ i - 1 };
用于(int j = i;j <最后;+ j)
数据{数据= { + 1 };
}
--最后;
返回TMP;
}
为了获得表的顺序而获取数据元素
公共getelement(int i)
{
如果(IsEmpty)| |(我(一+ 1))
返回缺省值(t);
返回数据{·};
}
为了查找值的数据元素的值
公共int定位(t值)
{
如果(IsEmpty())
返回- 1;
int = i 0;
对于(i = 0;i <最后;+ i)
{
如果(value.equals(数据{我}))
打破;
}
如果(最后)
返回- 1;
还我;
}
}

复制代码代码如下所示:
genericlist公共类
{
公共genericlist()
{ }
详细说明:(详细说明:大众合并啦,详细说明:LB)
{
详细说明:详细说明:LC =新(La为+ lb.maxsize);
int = i 0;
int = 0;
int=0;
表的两个元素是不是空的
而((我(LA。长度)-(1)(J)(lb.getlength)(1)))
{
如果({ } })
LC(追加);
其他的
追加(磅+ ++);
}
一个数据元素和
而(我(LA。长度)-(1))
LC(追加);
表中有数据元素。
而(J(lb.getlength)-(1))
追加(磅+ ++);
Lc回来了;
}
}

客户端代码:
复制代码代码如下所示:
static void main(String { } args)
{
详细说明:详细说明:(4)新SL1 =;
SL1附加(1);
SL1附加(3);
SL1附加(4);
SL1附加(7);
详细说明:详细说明:(6)新SL2 =;
SL2追加(2);
SL2追加(5);
SL2追加(6);
SL2追加(8);
SL2追加(11);
SL2追加(14);
genericlist GL =新genericlist();
详细说明:SL3 = GL(SL1、SL2)合并;
console.writeline(长度:+ sl3.getlength());
为(int i = 0;i < sl3.getlength();i++)
{
console.writeline(我+:+ SL3 {我});
}
}

好,下一次学习清单。
作者:LevinLee