K:线性表

本文介绍了线性表的基本概念,包括其定义、逻辑关系及存储结构,并详细阐述了线性表的各种基本操作及其对应的Java接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值