JAVA数据机构与算法(个人笔记)---线性表操作(顺序表)

顺序表

首先定义一个抽象类,包括两个方面:数据集合和该数据集合上的操作集合。线性表常见操作有插入、删除、查找、获取元素值、设置元素值等,在java语言中,抽象数据类型通常设计成接口。线性表抽象类型的java接口可声明如下: 

//线性表抽象数据类型
public interface LinearList<Student> {
    public Student get(int i);//返回下标为i的元素
    public void set(int i,Student t);//用指定元素t替换列表中指定位置i的元素
    public int insert(Student t);//在线性表的最后插入元素t,返回t序号
    public int insert(int i,Student t);//在线性表的位置i处插入元素t,返回t序号
    public Student remove(int i);//删除下标为i的元素,返回被删除的元素
    public boolean contains(Student key);//判断线性表中是否包含key元素
    public void indexOf(int i); //在线性表查找首次出现的与key相等元素,返回元素位置,若不存在,则返回-1
    public int size();//返回线性表的长度
    public void clear();//清空线性表
    public boolean isEmpty();//判断线性表是否为空
    public void printList(); //遍历顺序表所有元素
}


 顺序表类声明、构造方法、存取操作实现

声明顺序表SeqList,实现线性表接口LinearList,顺序表包含2个保护成员变量data和n。其中,data数组存放顺序表中的数据元素,元素类型用泛型T表示;n为顺序表中的元素个数(顺序表长度)。


//顺序表类
public class SeqList implements LinearList<Student>{
    protected Student[] data;         //对象数组存储顺序表的数据元素
    protected int n;             //顺序表数据元素个数(长度)

    public SeqList(int length){          //构造容量为length的空表
        this.data=new Student[length];//创建长度为length的数组,元素均为null
        this.n=0;                        //空表长度为0
    }

    public SeqList(Student[] values){    //由values数组构造顺序表
        this(values.length);             //创建容量为values
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

居士KJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值