数据结构--线性表(一)

本文介绍了线性表作为线性结构的基础概念,包括其一对一的关系特征,并对比了线性表与非线性结构的区别。接着,重点讨论了线性表的简单数组实现,说明了如何通过数组来实现线性表的各种操作,如添加、获取、设置和删除元素。虽然数组实现提供了快速的随机访问,但删除和插入操作效率较低,需要移动大量元素。最后,给出了测试用例及其运行结果。
摘要由CSDN通过智能技术生成

线性表是一个线性结构的数据元素的集合,其中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其他元素都是有且只有一个前继元素和一个后继元素。

常用的线性结构有:线性表,栈,队列,一维数组。

二维数组、多维数组、广义表和树是属于非线性结构,非线性结构中各个元素数据不再保持在一个线性序列中,每个数据元素可能与零个或者多个其他数据元素发生联系。根据关系的不同,可以分为层次结构群体结构

线性表的简单数组实现

对线性表的所有操作我们都可以通过数组来实现,虽然数组是固定容量的,但是我们可以在需要的时候用双倍的容量来创建新的数组。

数组实现线性表MyArrayList:

API:
MyArryList() //创建初始容量的空表
int size()//获取表中元素数量
boolean isEmpty()//表是否为空
Item get(int index)//返回指定索引的元素
void set(int index,Item item)//将指定位置的元素设置指定的值
boolean add(Item item)//向表中添加一个元素
void remove(int index)//删除表中的指定元素
Iterator iterator()//获取迭代器

import java.util.Iterator;
import java.util.NoSuchElementException;
public class MyArryList<Item
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值