Java——数据结构之顺序表
文章目录
- Java——数据结构之顺序表
- 1.顺序表的简单了解
- 2.接口的实现
- (1)创建初始变量
- (2)打印顺序表
- (3)添加元素
- (4)判断是否包含元素
- (5)查找元素的下标
- (6)获取 pos 位置的元素
- (7)更新pos 位置的元素值
- (8)删除元素
- (9)获取顺序表长度
- (10)清空顺序表
- 3.完整顺序表的实现
- 完!
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.完整顺序表的实现
好了今天的知识就分享到这里,希望大家多多练习,谢谢大家的欣赏与关注!!
感谢支持!!!
完!
Java——数据结构之顺序表相关推荐
- java设计一个顺序表类的成员函数_顺序表代码讲解以及实现
用C语言编写一个有关顺序表的程序代码 创建一个顺序表,其数据元素类型为整型: 在该顺序表中插入数据(#include #include #define MaxSize 50 typedef char ...
- java如何给顺序表赋值_JAVA模拟新增顺序表及单链表
最近在回顾大学学的数据结构,这里给大家用javwww.cppcns.coma模拟顺序表和单链表的新增 1顺序表新增 /** * 顺序www.cppcns.com表 * * @author cjd * ...
- 【数据结构】顺序表的应用(4)(C语言)
[数据结构]顺序表的应用(1)(C语言) [数据结构]顺序表的应用(2)(C语言) [数据结构]顺序表的应用(3)(C语言) 设计一个算法,将一个顺序表倒置,即如果顺序表各个节点值存储在一维数组a中, ...
- 【数据结构】顺序表的应用(3)(C语言)
问题: 已知一个顺序表中的各节点值是从大到小有序的,设计一个算法,插入一个值为x的节点,使顺序表中的节点仍然是从小到大有序的. 头文件与该头文件一样:[数据结构]顺序表的实现(C语言) #includ ...
- 【数据结构】顺序表的应用(2)(C语言)
问题: 2.有顺序表A和B,其元素均按从小到大的升序排列,编写一个算法,将它们合并成一个顺序表C,要求C的元素也按从小到大的升序排列. 头文件与该头文件一样:[数据结构]顺序表的实现(C语言) #in ...
- 【数据结构】顺序表的应用(1)(C语言)
问题: 1.将顺序表(a1,a2,-,an)重新排列以a1为界的两部分:a1前面的值均比a1小,a1后面的值均比a1大(这里假设数据元素的类型具有可比性,不妨设为整型). 头文件与该头文件一样:[数据 ...
- 数据结构 创建顺序表
3.18数据结构--创建顺序表 运行结果截图: #define _CRT_SECURE_NO_WARNINGS #define MAXSIZE 100 #include<stdio.h> ...
- 数据结构之顺序表的删除、查找、遍历
一.引言 本篇文章作为顺序表新的篇章延续上一篇文章(数据结构之顺序表构造.插入.扩容操作)的内容. 二.顺序表的删除.查找.遍历操作 注:代码实现均为C语言 1.顺序表的删除(erase)操作 当我们 ...
- 数据结构_顺序表SeqList(C++
数据结构_SeqList顺序表(C++实现 文章目录 数据结构_SeqList顺序表(C++实现 前言&注意事项 顺序表实现方法 总结 结束 前言&注意事项 有些函数没有修改成员数据的 ...
- Tsai笔记:C++学习随性笔记(2)—— 数据结构:顺序表的基本操作
Tsai笔记:C++学习随性笔记(2)-- 数据结构:顺序表的基本操作 Tsai三步.(第一步,功能说明.第二步,结果图显示.第三步,代码展示) 第一步,功能说明. 1.线性表的顺序存储 线性表的顺序 ...
最新文章
- 电脑键盘功能介绍_远程操控软件介绍
- python接口 同花顺_利用python探索股票市场数据指南
- 【Lucene】lucene 视频教程 笔记
- 深圳职业技术学院计算机专业组代码,深圳职业技术学院代码是多少 有哪些优势专业...
- 【IDEA】IDEA 格式化 代码技巧 idea 格式化 会加 <p> 标签
- 用3DMAX制作《滚动的小球》
- 面经-毕马威南京-实习-算法-20191216
- 最新综述!NLP中的Transformer预训练模型
- 欧盟 | 地平线 2020 ENSEMBLE:D2.13 SOTIF Safety Concept(上)
- 基于低代码开发平台实现政府督办管理系统
- 99%的工程师都不知道vscode还有这个功能
- 计算机中丢失cg,【计算机中丢失dll文件】计算机丢失dll文件_计算机中丢失cg dll-win7之家...
- luffcc项目-11-购物车实现,切换有效期选项、购物车商品的删除操作,结算页面,订单的生成
- Win10 tensorflow 1.12 gpu + CUDA10 + Anaconda3-4.4 python3.6 安装过程
- Linux IP 地址修改
- python 文件夹拷贝
- java总是标点符号报错_[javamail]AUTH LOGIN failed;Invalid username or password报错
- WinForm引用ActiveX组件,对Com组件的学
- ISO 11898 CAN FD数据传输格式标准(初级)
- 重要的 SQL Server 函数 - 日期函数
热门文章
- MVC 中 Html.RenderPartial()与Html.Partial()区别
- SQL Server Mobile 数据类型
- 在企业级开发中使用Try...Catch...会影响效率吗?
- 【Mac版】小i译读安装操作
- 在Qtopia中添加国际化支持
- clickhouse 同步mysql_腾讯大牛教你ClickHouse实时同步MySQL数据
- yagmail和keyring的安装与注册
- java 15道经典,15道非常经典的Java面试题
- QT tablewidget列名字对应的行与第0行之间的边框线未显示
- Windows系统历史版本简介