线性表01- 数组与简易接口设计

news2024/12/25 8:54:16

线性表的定义

线性表: 具有n个相同类型元素的有限序列 n>=0
线性表的元素特点是有索引, 可以通过索引快速查找到元素.

在这里插入图片描述
a1是a2的前驱, a2是a1的后继
常见的线性表

  1. 数组
  2. 链表
  3. 队列
  4. 哈希表 (散列表)

数组

数组是一种顺序存储的线性表, 所有的元素的内存地址是连续的.
int array[] = new int[] {11, 22, 33}
array: 放栈空间
new int 放堆空间
数组在jvm中存放的形式如下图

数组的缺点: 无法动态的修改容量.
解决办法: 自己写一个动态数组.

简易接口设计

自己创建一个ArrayList, 先简易将此数组用于存放int类型的数据
在这里插入图片描述
接口设计如下:

public class ArrayList {

    /**
     * 清除所有元素
     */
    public void clear() {
    }

    /**
     * 元素的数量
     * @return
     */
    public int size() {
        return 0;
    }

    /**
     * 是否为空
     * @return
     */
    public boolean isEmpty() {
        return false;
    }

    /**
     * 是否包含某个元素
     * @param element
     * @return
     */
    public boolean contains(int element) {
        return false;
    }

    /**
     * 添加元素到尾部
     * @param element
     */
    public void add(int element) {

    }

    /**
     * 获取index位置的元素
     * @param index
     * @return
     */
    public int get(int index) {
        return 0;
    }

    /**
     * 设置index位置的元素
     * @param index
     * @param element
     * @return 原来的元素ֵ
     */
    public int set(int index, int element) {
        return 0;
    }

    /**
     * 在index位置插入一个元素
     * @param index
     * @param element
     */
    public void add(int index, int element) {
    }

    /**
     * 删除index位置的元素
     * @param index
     * @return
     */
    public int remove(int index) {
        return 0;
    }

    /**
     * 查看元素的索引
     * @param element
     * @return
     */
    public int indexOf(Object element) {
        return 0;
    }

    /**
     * 保证要有capacity的容量
     * @param capacity
     */
    private void ensureCapacity(int capacity) {
    }

    private void outOfBounds(int index) {
    }

    private void rangeCheck(int index) {
    }

    private void rangeCheckForAdd(int index) {
    }

    @Override
    public String toString() {
        return null;
    }
}

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

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

相关文章

Python用广义加性模型GAM进行时间序列分析

每当你发现一个与时间对应的趋势时,你就会看到一个时间序列。我们围绕广义加性模型GAM技术进行一些咨询,帮助客户解决独特的业务问题。研究金融市场表现和天气预报的事实上的选择,时间序列是最普遍的分析技术之一,因为它与时间有着…

matlab图像的运算有点运算、代数运算、逻辑运算和几何运算

1.图像的点运算 2.图像的代数运算 3.图像的逻辑运算 4.图像的几何运算 一、图像的点运算 图像的点运算:对图像中的每个像素值进行计算,从而改善图像显示效果的操作,常用于改变图像的灰度范围及分布,有时也被称为对比度增强和拉伸…

Arduino开发实例-DIY酒精浓度检测计

DIY酒精浓度检测计 在本文中,将详细介绍如何创建一个简单的酒精检测器。 它可以在各种应用领域中使用。市场上有许多先进的酒精传感器,价格合理,但我们在这里使用一些基本的微控制器来制作这个项目,如 Arduino、LED、蜂鸣器和 MQ3 酒精传感器。 1、MQ-3传感器介绍 MQ-3传…

外卖项目(项目优化2)11---读写分离

读:查询的操作 目录 一、Mysql主从复制 172 1.1Mysql主从复制_配置主库Master&从库Slave 173 配置:主库Master: 配置:从库Slave 二、读写分离案例 175 2.1背景 2.2Sharding-JDBC介绍 2.3读写分离案例---入门案例 17…

Magic Leap 2设计和开发幕后花絮

Magic Leap今年发布新款AR头显Magic Leap 2,相比于上一代Magic Leap 1,新品更专注于B端场景,自公布以来,Magic Leap不仅对公司策略、理念更加透明,也不断公开ML2产品设计背后的思考。相比于ML1,ML2的设计有…

里P7告诉你,接口测试真的很简单,有手就行

一、什么是接口测试? 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接口测试,则是通过接口的不同情况下的输入,去对比输出,看看是否满足接口规范所规定的功能、…

windows bat批处理文件,实现某个软件的重启

bat批处理实现软件重启功能windows环境需要明确的概念按照启动文件xxx.exe去定位某个程序的Pid根据pid杀死某个进程根据exe文件启动某个软件bat示例,杀死软件进程并重启windows环境 我这里用的是win10企业版,在基础功能上和家庭版区别不大 需要明确的概…

19uec++多人游戏【基础AI导航】

首先把这一期的资源导入一下 创建一个球体类,继承于pawn类 为其添加静态组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "Components")class UStaticMeshComponent * MeshComponent; #include "Components/StaticMeshComponent.h&qu…

具备统一门户功能的内网即时通讯软件才是发展趋势

作为企业领导,我们最害怕的就是下属工作效率不高,没办法为企业带来价值,有时候并不一定是员工自身存在问题,“工欲善其事,必先利其器“正好说明了,如果我们有能力在线的员工加上强大的办公软件辅助&#xf…

如何线上登记版权?

问题一:为什么要登记版权? 告诉你一个行业秘密,其实可以不用登记版权,为什么?因为作品自完成就自动拥有版权,作者可以自己选择登记与否,不登记对版权也没有影响。这里可能有人要问了&#xff0…

xss-labs/level12

这一关首先尝试以下 <script>alert(xss)</script> 不废话 直接看源代码 很明显发现第一个输出点被转义了 根本无法通过script标签来完成弹窗 然后依然是四个隐藏表单 我们可以先试一试在不用抓包工具的前提下 我们能不能将某个隐藏表单给显示出来 构造如下 &l…

Docker的常用基础命令(详细讲解)

首选需要大家搭建好Docker环境&#xff0c;没有环境的可以查看前面的详细讲解安装Docker引擎的文章&#xff08;在CentOS上安装Docker引擎_征服bug的博客-CSDN博客&#xff09; 首先是安装好Docker 引擎 一&#xff0c;如何启动与停止引擎服务 #启动docker systemctl start do…

JAVA-GUI工具的编写-----请求篇

上节我们说到&#xff0c;我们制作了样子货的GUI&#xff0c;但是没有嵌入任何的按钮事件&#xff0c;并且上一次忘记加进去命令执行的确定按钮&#xff0c;让我们简单的回顾一下子吧 import javafx.application.Application; import javafx.collections.FXCollections; impor…

R在GIS中用ggmap地理空间数据分析

概要 做过O2O&#xff08;Online To Offline,在线离线/线上到线下&#xff09;的小伙伴知道&#xff0c;GIS数据需要具体到精准的位置(即经纬度)&#xff1b;对于连锁门店&#xff0c;使用GIS和其它的数据密集型服务遵循一个简单的逻辑&#xff1a;数据有助于企业节省开支&…

Vilatile底层逻辑总结

#### 增加volatile 使用JIT优化的时候 禁止出现语句重排 #### volatile是Java虚拟机提供的轻量级同步机制。 - 保证可见性 - 不保证原子性&#xff08;整体流程成功 整体流程失败&#xff09;如果要保证原子性-加 synchronized 或者直接使用 Automic 原子类 - 禁止指令重排&am…

VBA Regex 正则表达式应用介绍

. VBA正则表达式介绍 正则表达式或 RegEx 用于在字符串中查找特定的字符。 本文将展示一个 VBA RegEx 示例,并演示为什么在 VBA 中使用正则表达式如此强大。 正则表达式是一个比较大的话题,关于这方面的书很多。 同时也是一个让许多人感到害怕的话题,因为它的语法比较神秘和…

【论文笔记】ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION

【论文笔记】ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION ABSTRACT 【主要工作】用一个单一的、有目标条件的策略来解决许多机器人操作任务&#xff0c;包括对之前未见过的物体的操作。 【主要方法】对于目标发现过程采用非对称自我博弈方法…

Java 输入输出流简介和应用 (Java实现序列化工具类)

目录 简介 常用模板 实现序列化工具类 简介 应用场景 代码 简介 Java 流相关的类都封装在 java.io 包中&#xff0c;而且每个数据流都是一个对象。所有输入流类都是 InputStream 抽象类&#xff08;字节输入流&#xff09;和 Reader 抽象类&#xff08;字符输入流&#…

ISP Tuning

ISP Tuning1. 简介2. 常用算法2.1 BLC2.2 AWB (处理色温引起的偏色问题)2.2.1 色温&#xff08;Color Temperature:温度越低色温越高&#xff09;2.2.2 为什么需要AWB &#xff08;消除光源颜色的影响&#xff09;2.2.3 AWB的目标2.2.4 如何实现自动白平衡 (先确定色温然后找对…

汽配erp管理系统目前有哪些公司提供了解决方案?

之前的一个朋友提问&#xff1a;我们是一个有200人左右的汽车配件供应商&#xff0c;为了迎合整车厂家的需要&#xff0c;提高自身管理运作的效率&#xff0c;准备上erp管理软件来规范企业的运作。现阶段我们内部管理的信息化程度比较低&#xff0c;从库房到现场作业都是靠纸质…