码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA线性表

时间:2018-01-05 20:46:21      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:api   标识   存在   数据   abstract   之间   相同   int   多个   

1. 线性表在计算机中可以用顺序存储和链式存储两种存储结构来表示。其中用顺序存储结构表示的线性表成为顺序表,用链式存储结构表示的线性表称为链表,链表又有单链表,双向链表,循环链表之分。

2. 线性表是由n(n>=0)个数据元素所构成的有限序列,通常表示为(a0,a1,a2.....an-1)。其中下标i标识数据元素在线性表中的位序号,n为线性表的表长,当n=0时表示该线性表为空表。

3. 对于同一个线性表,其每一个数据元素的值虽然不同,但必须具有相同的数据类型;同时,数据元素之间具有一种线性的或“一对一”的逻辑关系,即:

?3.1第一个数据元素没有前驱,这个数据元素也称为开始结点

?3.2最后一个数据元素没有后继,这个数据元素也称为终端结点

?3.3除了第一个和最后一个数据元素之外,其它数据元素有且仅有一个前驱和一个后继

具有以上逻辑关系的数据结构也称为线性结构,线性表就是一种线性结构。

4. 对于线性表,其长度可以动态的增长或缩短;可以对线性表中的任何数据元素进行访问和查找;其数据元素的插入和删除操作可以在线性表中的任何位置上进行;可以求线性表中指定数据元素的前驱和后继;可以将两个线性表合并成一个线性表,或将一个线性表拆分成为两个或者多个线性子表等。其API如下:

?4.1 clear():将一个已经存在的线性表置为空表

?4.2 isEmpty():判断线性表是否为空,若为空,则返回true,否则,返回false。

?4.3 length():求线性表中的数据元素的个数并返回其值

?4.4 get(i):读取并返回线性表中的第i个数据元素的值。其中i的取值范围为0<=i&&i<=length()-1

?4.5 insert(i,x):在线性表的第i个数据元素之前插入一个值为x的数据元素。其中i的取值范围为0<=i&&i<=length()。当i==0时,在表头插入x,当i=length()时,表示其在表尾插入x

?4.6 remove(i):删除并返回线性表中第i个数据元素。其中i的取值范围为0<=i&&i<=length()-1

?4.7 indexOf(x):返回线性表中首次出现指定数据元素的位序号,若线性表中不包含此元素,则返回-1

其API所对应的接口如下(java):

public interface List<T>
{
    public abstract void clear();
    public abstract boolean isEmpty();
    public abstract int length();
    public abstract void insert(int i,T x)throws Exception;
    public abstract T get(int i)throws Exception;
    public abstract int indexOf(T x)throws Exception;
    public void remove(int i)throws Exception;
}

JAVA线性表

标签:api   标识   存在   数据   abstract   之间   相同   int   多个   

原文地址:https://www.cnblogs.com/itsmallbee/p/8206466.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!