文章目录
Java——数据结构之顺序表
本次内容介绍大纲
\
\
在之前的学习中,我们主要了解了很多 Java 的 基本语法,但是 在之后的 Java学习中,了解 基础 数据结构的知识 非常重要,数据结构的思想 可以帮助我们更加清晰 明白的了解 Java 的解题思路等等。
\
今天我们就来开始学习 实现一个 Java 基础的 顺序表。
\
1.顺序表的简单了解
\
顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。
\
顺序表一般可以分为:
\
静态顺序表:使用定长数组存储。
动态顺序表:使用动态开辟的数组存储。
静态顺序表适用于确定知道需要存多少数据的场景.
静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用.
相比之下动态顺序表更灵活, 根据需要动态的分配空间大小.
\
2.接口的实现
\
今天我们就来实现一个动态顺序表. 以下是需要支持的接口.
\
\
接下来,我们将需要实现的方法一 一具体来实现。
\
(1)创建初始变量
\
\
首先我们创建一个 myArraylist 的类,初始我们创建 整形数组 int [ ] elem 、有效长度变量 int usedSize , 并且写一个构造方法,在方法的内部为数组定义大小 ,为数组开辟空间。
\
(2)打印顺序表
\
\
用 for 循环 将数组中的元素 一一遍历,打印每一个元素。
\
(3)添加元素
\
\
这个方法的实现步骤:
1.考虑 传入的数组下标 pos 的值 是否合法
2.如果pos 合法,进行添加元素操作。
3.考虑数组 满容的情况,用拷贝的方式为数组进行增容。
\
(4)判断是否包含元素
\
\
如果我们要找的 toFind 在数组中找到,则返回 true ,如果没有找到的话,则返回 false。
\
(5)查找元素的下标
\
遍历数组,如果找到我们所查找的 toFind ,则返回数组的下标。如果找不到的话,则返回 -1。
\
(6)获取 pos 位置的元素
\
\
如果 pos 合法的话 ,返回 数组中下标为 pos 的元素值。
\
(7)更新pos 位置的元素值
\
\
还是先判断 pos 是否合法,合法的情况下,将 value的值 传给 下标为 pos的元素,从而进行更改元素值。
\
(8)删除元素
\
\
删除方法实现的步骤:
\
1.用 search 方法找到 传入关键字的下标 index,如果在数组中找不到的话,直接return。
2.利用 i 和 useSize 的关系,将从 i = index 开始,将下标 i+1 的元素 赋给 i , i++ .
3.删去一个元素,有效数组 usedSize - -。
\
(9)获取顺序表长度
\
\
返回代表有效长度 的值 usedSize 。
\
(10)清空顺序表
\
\
清空顺序表 ,我们就通过将 有效长度置为 0 来清空数组。
\
3.完整顺序表的实现
\
\
好了今天的知识就分享到这里,希望大家多多练习,谢谢大家的欣赏与关注!!
\
感谢支持!!!
\