java顺序表的实现

一,前言

hello大家好呀,今天浅略讲讲java的顺序表,其实顺序表大概一个月前就学了,但是由于前段时间期末一直没写博客,但是现在想想其实期末我还是有很多空余时间的,但是由于自己的原因耽误了很多时间现在想来挺后悔的,不过没关系,可以补上,顺序表我们在c语言的阶段详细介绍过(详情移步初级数据结构---顺序表的实现-CSDN博客)其实java实现也大差不差,今天打算水一期啦哈哈,但是也确实没有新东西,但是需要注意我们在实现是运用到了异常的抛出机制和接口,这两部分也不难,这边直接上代码啦,谢谢大家。

二,代码实现

List.java(接口)

public interface List {void Add(int num);void Add(int pos,int num);void Show();int Find(int num);void Delete(int num);void Modify(int source,int num);boolean Full();
}

MyList.java

import java.util.Arrays;
public class MyList implements List {int[] array = new int[6];int NumberSize;MyList() {array[0] = 0;array[1] = 1;array[2] = 2;NumberSize = 3;}public boolean Full() {return this.NumberSize == array.length;}private void grow() {array = Arrays.copyOf(this.array, 2 * this.array.length);}@Overridepublic void Add(int num) {if (Full())grow();array[NumberSize] = num;NumberSize++;}private void Judge(int pos) {if (pos < 0 || pos > NumberSize) {throw new RuntimeException("输入的位置有误");}}@Overridepublic void Add(int pos, int num) {if (Full())grow();try {Judge(pos);for (int i = NumberSize; i >= pos; i--) {array[i + 1] = array[i];}array[pos] = num;NumberSize++;} catch (RuntimeException e) {e.printStackTrace();}}@Overridepublic void Show() {for (int i = 0; i < NumberSize; i++){System.out.println(array[i]);}}private void Judge1(int pos) {if (pos < 0 || pos >= NumberSize)throw new RuntimeException("输入位置不合法,数组元素为个数为:+" + NumberSize);}@Overridepublic int Find(int pos) {try {Judge1(pos);} catch (RuntimeException e) {e.printStackTrace();}return array[pos];}public int FindPos(int num){for (int i = 0; i <NumberSize ; i++) {if (array[i]==num){return i;}}return -1;}@Overridepublic void Delete(int num) {int pos=FindPos(num);for (int i = pos; i <NumberSize ; i++) {array[i]=array[i+1];}NumberSize--;}@Overridepublic void Modify(int pos, int num) {array[pos]=num;}
}

Main.java

public class Main {public static void main(String[] args) {MyList myList=new MyList();myList.Add(3);myList.Add(1,4);myList.Delete(4);myList.Modify(3,4);myList.Show();}
}

三,尾声

再次感谢大家阅读,有错误欢迎大家在评论区指出,下期见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43292.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++面向对象的常见面试题目(二)

1. 继承关系下&#xff0c;析构函数和构造函数执行顺序&#xff1f; 构造函数按照依赖链&#xff0c;从强到弱构造 首先调用基类的构造函数。如果有多个基类&#xff0c;则按照它们在派生类声明中出现的顺序调用&#xff1b;接下来&#xff0c;按照它们在类中声明的顺序&…

windows USB 设备驱动开发-处理批传输的静态流

在 USB 2.0 和更早版本的设备中&#xff0c;批量端点可以通过该端点发送或接收单个数据流。 在 USB 3.0 设备中&#xff0c;批量端点能够通过该端点发送和接收多个数据流。 Windows 中 Microsoft 提供的 USB 驱动程序堆栈支持多个流。 这使客户端驱动程序能够将独立的 I/O 请求…

GEE代码实例教程详解:长时间序列风速分析

简介 在本篇博客中&#xff0c;我们将使用Google Earth Engine (GEE) 对长时间序列的风速数据进行分析。通过ERA5再分析数据集&#xff0c;我们可以计算2010年至2024年间的平均风速&#xff0c;并与1980年至2020年的风速数据进行比较。 背景知识 ERA5数据集 ERA5是ECMWF&am…

代码随想录-Day53

739. 每日温度 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: …

【Linux】目录的相关命令——cd,pwd,mkdir,rmdir

1.相对路径与绝对路径 在开始目录的切换之前&#xff0c;你必须要先了解一下所谓的路径&#xff08;PATH)&#xff0c;有趣的是&#xff1a;什么是相对路 与绝对路径&#xff1f; 绝对路径&#xff1a;路径的写法“一定由根目录/写起”&#xff0c;例如&#xff1a;/usr/shar…

Java版Flink使用指南——定制RabbitMQ数据源的序列化器

大纲 新建工程新增依赖数据对象序列化器接入数据源 测试修改Slot个数打包、提交、运行 工程代码 在《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中&#xff0c;我们从RabbitMQ队列中读取了字符串型数据。如果我们希望读取的数据被自动化转换为一个对象&#x…

Linux C++ 043-机房预约系统

Linux C 043-机房预约系统 本节关键字&#xff1a;Linux、C、机房预约系统 相关库函数&#xff1a;for_each、open、close、write 系统简介 学校现在有几个规格不同的机房&#xff0c;由于使用经常出现撞车现象&#xff0c;现开发一套机房预约系统&#xff0c;解决这一问题。…

Java进阶---抽象方法abstract

抽象方法 案例引入: 在某个宠物店的宠物资源管理系统中有&#xff1a; 狗类&#xff1a;属性&#xff08;姓名&#xff09;&#xff0c;行为&#xff08;吃饭&#xff09; 猫类&#xff1a;属性&#xff08;姓名&#xff09;&#xff0c;行为&#xff08;吃饭&#xff09;利用…

智慧科技照亮水利未来:深入剖析智慧水利解决方案如何助力水利行业实现高效、精准、可持续的管理

目录 一、智慧水利的概念与内涵 二、智慧水利解决方案的核心要素 1. 物联网技术&#xff1a;构建全面感知网络 2. 大数据与云计算&#xff1a;实现数据高效处理与存储 3. GIS与三维可视化&#xff1a;提升决策支持能力 4. 人工智能与机器学习&#xff1a;驱动决策智能化 …

LibreOffice的国内镜像安装地址和node.js国内快速下载网站

文章目录 1、LibreOffice1.1、LibreOffice在application-conf.yml中的配置2、node.js 1、LibreOffice 国内镜像包网址&#xff1a;https://mirrors.cloud.tencent.com/libreoffice/libreoffice/ 1.1、LibreOffice在application-conf.yml中的配置 jodconverter:local:enable…

Java面试八股之MySQL中int(10)和bigint(10)能存储读的数据大小一样吗

MySQL中int(10)和bigint(10)能存储读的数据大小一样吗 在MySQL中&#xff0c;int(10)和bigint(10)的数据存储能力并不相同&#xff0c;尽管括号内的数字&#xff08;如10&#xff09;看起来似乎暗示着某种关联&#xff0c;但实际上这个数字代表的是显示宽度&#xff0c;而不是…

vue学习day03-指令修饰符、v-bind对于样式控制的增强、v-model应用于其他表单元素

7、指令修饰符 &#xff08;1&#xff09;概念&#xff1a; 通过“.”指明一些指令后缀&#xff0c;不同后缀封装了不同的处理操作->简化代码 &#xff08;2&#xff09;按键修饰符 keyup.enter->键盘回车监听 &#xff08;3&#xff09;v-model修饰符 v-model.tri…

vue + element ui 实现侧边栏导航栏折叠收起

首页布局如下 要求点击按钮,将侧边栏收缩, 通过 row 和 col 组件&#xff0c;并通过 col 组件的 span 属性我们就可以自由地组合布局。 折叠前 折叠后 <template><div class"app-layout" :class"{ collapse: app.isFold }"><div class&…

Onekey正版steam分流下载工具

今天给大家介绍的是一款下载steam游戏的工具。Onekey工具&#xff0c;是一款游戏下载器&#xff0c;可以下载steam正版分流游戏。下载正版分流的网站很多&#xff0c;但是都是网盘或者迅雷下载&#xff0c;或者游戏盒子下载&#xff0c;速度都很慢。这款软件是用steam下载的&am…

Flask项目搭建及部署 —— Python

flask搭建及部署 pip 19.2.3 python 3.7.5 Flask 1.1.1 Flask-SQLAlchemy 2.4.1 Pika 1.1.0 Redis 3.3.11 flask-wtf 0.14.2 1、创建flask项目&#xff1a; 创建完成后整个项目结构树&#xff1a; app.py: 项⽬管理⽂件&#xff0c;通过它管理项⽬。 static: 存放静态…

自定义控件视图篇(一)测量与布局

在自定义控件的开发过程中&#xff0c;"视图篇"的测量与布局是非常关键的步骤&#xff0c;这直接决定了控件的尺寸、位置以及子视图的排列方式。下面我将详细介绍测量和布局的过程&#xff0c;以及如何在自定义控件中正确实现这些步骤。 视图的测量 (onMeasure) 在…

2021版本的idea热部署的详细步骤

背景&#xff1a;我是自己用的是2021版本的idea,然后发现跟2023版本的热部署不太一样&#xff0c;所以&#xff0c;今天自己出一期这样的文章吧&#xff01;&#xff01;&#xff01;其他人配置的时候根据自己的情况&#xff0c;来阅读吧&#xff01; 第一步&#xff1a;方式一…

MyBatis是如何分页的及原理

MyBatis 是一种持久层框架&#xff0c;支持通过配置文件和注解将 SQL 映射为 Java 对象。在实际开发中&#xff0c;查询数据时经常需要进行分页处理。 MyBatis 也提供了支持分页的方案&#xff0c;其主要思路是使用 Limit 偏移量和限制个数&#xff0c;来获取指定数量的数据。下…

音视频入门基础:H.264专题(10)——FFmpeg源码中,存放SPS属性的结构体和解码SPS的函数分析

一、引言 FFmpeg源码对AnnexB包装的H.264码流解码过程中&#xff0c;通过ff_h2645_extract_rbsp函数拿到该H.264码流中的某个NALU的NALU Header RBSP后&#xff08;具体可以参考&#xff1a;《FFmpeg源码&#xff1a;ff_h2645_extract_rbsp函数分析》&#xff09;&#xff0c…

【沐风老师】3DMAX建筑体块生成插件BuildingBlocks使用方法详解

BuildingBlocks建筑体块生成插件使用方法详解 听说你还在手动建配景楼&#xff1f;有了BuildingBlocks这个插件&#xff0c;一分钟搞定喔&#xff01; 3DMAX建筑体块生成插件BuildingBlocks&#xff0c;用于快速自定义街道及生成配景楼区块。 【适用版本】 3dMax2019及更高版…