文章目录
线性表
一个线性表是n个具有相同特性的数据元素的有限序列
- 前驱元素:若A元素在B元素的前面,则称A为B的前驱元素
- 后继元素:若B元素在A元素的后面,则称B为A的后继元素
**线性表的特征:**数据之间有一种一对一的逻辑关系
- 第一个数据元素没有前驱,这个数据元素被称为头节点
- 最后一个数据元素没有后继,这个数据元素被称为尾节点
- 除了第一个和最后一个数据元素外,其他数据元素有且仅有一个前驱和一个后继
**线性表的分类:**按照数据存储方式不同,可以把线性表分为顺序表和链表
一、顺序表
顺序表是在计算机内存种以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元,依次存储线性表中的各个元素,通过数据元素物理存储的相邻关系来翻译数据元素之间逻辑上的相邻关系。
1. 顺序表的操作
创建一个类SequenceList 并实现Iterable
public class SequenceList<T> implements Iterable<T>{
private T[] eles; //存储数组元素
private int N; //记录当前顺序表中元素个数
//构造方法
public SequenceList(int capacity) {
//初始化数组
this.eles=(T[]) new Object[capacity];
//初始化长度
this.N=0;
}
}
(1)将一个线性表置为空表
public void clear() {
//当前顺序表中的元素个数置为0
this.N=0;
}
(2)判断当前线性表是否为空表
public boolean isEmpty() {
//判断当前顺序表中的元素个数是否为0,为0表示为空表
if (N==0) {
return true;
}else {
return false;
}
}
(3)获取线性表的长度
public int length() {
//N的值就是当前线性表的长度
return N;
}
(4)获取指定位置的元素
public T get(int i) {
//根据输入的元素下标获取该元素
return eles[i]