JAVA数据结构之线性表

本文深入探讨了JAVA中的线性表数据结构,包括线性表的抽象数据类型、顺序存储结构、单链表和双链表的实现及其操作,如插入、删除、查找等。分析了各种操作的时间复杂度,并对比了顺序表与链式结构的优劣。此外,还介绍了排序单链表的方法和循环双链表的实现,强调了这些基础知识在Java容器源码阅读中的重要性。
摘要由CSDN通过智能技术生成

线性表是其组成元素间具有线性关系的一种数据结构,对线性表的基本操作主要有,获取元素,设置元素值,遍历,插入,删除,查找,替换,排序等。而线性表可以采用顺序储存结构和链式储存结构,本节主要讲解顺序表、单链表以及双链表的各种基本操作。

1:线性表抽象的数据类型

线性表:是由n(n>=0)个数据相同的元素组成的有限序列。线性表的定义接口如下

public interface IList<T> {
   
    /**
     * 是否为空
     * @return
     */
    boolean isEmpty();
    /**
     * 表的长度
     * @return
     */
    int length();
    /**
     * 根据索引获取长度
     * @param i
     * @return
     */
    T get(int i);
    /**
     * 设置第i个元素值为x
     * @param i
     * @param x
     */
    void set(int i,T x);
    /**
     * 在线性表最后插入x元素
     * @param x
     */
    void append(T x);
    /**
     * 异常第i个元素并返回值
     * @param i
     * @return
     */
    T remove(int i);
    /**
     * 删除线性表中所有元素
     */
    void removeAll();
    /**
     * 查询首次出现关键字为key的元素
     * @param key
     * @return
     */
    T search(T key);
    void insert(int i,T x);
    /**
     * 升序添加
     * @param x
     */
    void insert(T x);
    /**
     * 升序删除
     * @param x
     */
    void remove(T x);
}

2ÿ

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值