iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java如何实现一个顺序表
  • 141
分享到

Java如何实现一个顺序表

2023-06-14 13:06:11 141人浏览 八月长安
摘要

这篇文章主要介绍Java如何实现一个顺序表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现一个顺序表接口实现定义一个MyArrayList类,在类中实现以下函数public class MyAr

这篇文章主要介绍Java如何实现一个顺序表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

实现一个顺序表

接口实现

定义一个MyArrayList类,在类中实现以下函数

public class MyArrayList {   }

数组的定义

public int[] elem;//定义一个整形数组    public int usize;//usize表示数组的长度    public MyArrayList(){        this.elem = new int[5];}

打印顺序表

for循环打印顺序表的每一位

public void display(){        for (int i = 0; i < this.usize; i++) {            System.out.print(this.elem[i]+" ");        }        System.out.println();    }

在pos位置新增元素

先定义一个isFull函数判断顺序表是否满了,满了返回true,没满则返回false

public boolean isFull(){        if (this.usize == this.elem.length){            return true;        }        return false;    }

将pos位置后的元素后移,顺序表顺序表长度增加一位

public void add(int pos, int data){        //判断顺序表是否满了        if (isFull()){            System.out.println("顺序表已满");            //扩容            this.elem = Arrays.copyOf(this.elem,2*this.usize);        }        //判断pos的合法性        if (pos < 0 || pos > this.usize){            System.out.println("pos位置不合法");            return;        }        //将pos位置后的数字后移        for (int i = this.usize-1; i >= pos; i--) {            this.elem[i+1] = this.elem[i];        }        this.elem[pos] = data;        this.usize++;    }

判定是否包含某个元素

public boolean contains(int key){        for (int i = 0; i < this.usize; i++) {            if (this.elem[i] == key){                return true;            }        }        return false;    }

查找某个对应元素的位置

返回它的位置

public int search(int key){        for (int i = 0; i < this.usize; i++) {            if (this.elem[i] == key){                return i;            }        }        return -1;    }

获取pos位置的元素

定义一个isEmpty函数判断顺序表是否为空

public boolean isEmpty(){        return this.usize == 0;    }
public int getPos(int pos){        //判断顺序表是否为空        if (isEmpty()){            return -1;        }        //判断pos 位置是否合法        if (pos < 0 || pos >= this.usize){            return -1;        }        return this.elem[pos];    }

给pos位置的元素设为value 更新为新的数字

 public void setPos(int pos,int value){        //判断顺序表是否为空        if (isEmpty()){            return;        }        //判断pos位置是否合法        if (pos < 0 || pos >= this.usize){            return;        }        this.elem[pos] = value;    }

删除第一次出现的关键字key

查找到关键字,从关键字所在的位置开始到顺序表结束每一项前移,覆盖掉关键字,长度减少一位

  public void remove(int key){        int index= search(key);        if (key == -1){            System.out.println("关键字不存在");            return;        }        for (int i = key; i < this.usize-1; i++) {            this.elem[i] = this.elem[i+1];        }        this.usize--;    }

获取顺序表长度

  public int size(){        return this.usize;    }

清空顺序表

顺序表长度直接为0

public void clear(){        this.usize = 0;    }

实现这个顺序表

定义一个测试类,测试这些函数的输出

public class TestDemo {    public static void main(String[] args) {        MyArrayList myArrayList = new MyArrayList();        //给这个顺序表写入1,2,3,4,5        myArrayList.add(0,1);        myArrayList.add(1,2);        myArrayList.add(2,3);        myArrayList.add(3,4);        myArrayList.add(4,5);        //打印这个顺序表        myArrayList.display();        //判定5这个元素是否在该顺序表中        System.out.println(myArrayList.contains(5));        //查找5这个元素 返回它的位置        System.out.println(myArrayList.search(5));        //获取3位置的元素        System.out.println(myArrayList.getPos(3));        //将4位置的元素重新赋值为9        myArrayList.setPos(4,9);        //打印新的顺序表        myArrayList.display();        //删除第一次出现的元素4        myArrayList.remove(4);        //打印新的顺序表        myArrayList.display();        //获取顺序表的长度        System.out.println(myArrayList.size());        System.out.println("清空");        //清空顺序表        myArrayList.clear();        //打印新的顺序表        myArrayList.display();    }}

得到结果:

Java如何实现一个顺序表

顺序表的优缺点

优点:顺序表查找方便,知道这个元素的位置就可以直接找到这个元素。
缺点:扩容一般成2倍增长,会有一定的空间浪费。

以上是“Java如何实现一个顺序表”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Java如何实现一个顺序表

本文链接: https://www.lsjlt.com/news/271011.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java如何实现一个顺序表
    这篇文章主要介绍Java如何实现一个顺序表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现一个顺序表接口实现定义一个MyArrayList类,在类中实现以下函数public class MyAr...
    99+
    2023-06-14
  • Java实现一个顺序表的完整代码
    实现一个顺序表 接口实现 定义一个MyArrayList类,在类中实现以下函数 public class MyArrayList { } 数组的定义 public ...
    99+
    2022-11-12
  • Java顺序表和链表如何实现
    这篇“Java顺序表和链表如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java顺序表和链表如何实现”文章吧。1. ...
    99+
    2023-07-04
  • Java实现顺序表的操作
    本文实例为大家分享了Java实现顺序表的基本操作,供大家参考,具体内容如下 静态顺序表:使用定长数组存储。动态顺序表:使用动态开辟的数组存储。 接口 package com.gith...
    99+
    2022-11-13
  • 怎么用Java实现顺序表
    这篇文章给大家分享的是有关怎么用Java实现顺序表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、什么是顺序表?顺序表就是按照顺序存储方式存储的线性表,该线性表的结点按照逻辑次序依次存放在计算机的一组连续的存储...
    99+
    2023-06-27
  • Java实现顺序表和链表结构
    目录前言:顺序表定义:实现方法:代码实现:链表定义:分类:实现方法:代码实现:顺序表 & 链表总结前言: 线性表(linear list)是n个具有相同特性的数据元素的有限序...
    99+
    2022-11-13
  • 如何使用Java实现顺序表的操作
    小编给大家分享一下如何使用Java实现顺序表的操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下静态顺序表:使用定长数组存储。动态顺序表:使用动态开辟...
    99+
    2023-06-28
  • Java线性表的顺序表示及实现
    目录前言一、什么是顺序表?二、顺序表的实现1. 准备工作2. 获取顺序表的元素个数3. 获取顺序表当前的容量4. 顺序表是否为空5. 在指定索引位置添加元素6. 在顺序表末尾添加元素...
    99+
    2022-11-13
  • Java实现顺序表的操作详解
    目录一、顺序表是什么二、自定义异常空引用异常下标越界异常三、顺序表的方法顺序表的实现获取顺序表长度顺序表是否为空顺序表是否为满打印顺序表末尾新增元素指定位置新增元素判断是否包含某元素...
    99+
    2022-11-13
  • C语言顺序表如何实现
    这篇文章主要讲解了“C语言顺序表如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言顺序表如何实现”吧!概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般...
    99+
    2023-06-29
  • Java如何实现顺序表的增删查改功能
    这篇文章主要介绍Java如何实现顺序表的增删查改功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建顺序表在java语言中要实现顺序表,首先创建一个类,因为顺序表本身就像数组,所以我们这里定义一个int类型的数组和...
    99+
    2023-06-14
  • Java线性表的顺序表示及实现方法
    本篇内容介绍了“Java线性表的顺序表示及实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么是顺序表?顺序表是在计算机内存中以数...
    99+
    2023-07-02
  • Java顺序表实现图书管理系统
    本文实例为大家分享了Java顺序表实现图书管理系统的具体代码,供大家参考,具体内容如下 一、简介 实现此项目的目的是巩固并理解前面的知识点:类,抽象类,封装,继承,多态,接口等 二、...
    99+
    2022-11-12
  • Java数据结构之顺序表的实现
    目录前言一、顺序表1.1 什么是顺序表二、简单实现顺序表2.1 创建顺序表2.2 打印顺序表2.3 获取顺序表长度2.4 在 pos 位置新增元素2.5 判定是否包含某个元素2.6 ...
    99+
    2022-11-13
  • Java实现顺序表的增删查改功能
    创建顺序表 在java语言中要实现顺序表,首先创建一个类,因为顺序表本身就像数组,所以我们这里定义一个int类型的数组和usedata为有效数据,构造方法里先申请可以存放10个数据的...
    99+
    2022-11-12
  • C语言线性顺序表如何实现
    这篇“C语言线性顺序表如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言线性顺序表如何实现”文章吧。线性表是最常用...
    99+
    2023-07-02
  • C++如何实现线性表顺序存储
    本篇内容介绍了“C++如何实现线性表顺序存储”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!顺序表的特点:需要一片连续的存储空间 逻...
    99+
    2023-07-05
  • 如何在Java中实现一个散列表
    目录前言:优化1优化2优化3如何实现总结前言: 假设现在有一篇很长的文档,如果希望统计文档中每个单词在文档中出现了多少次,应该怎么做呢? 很简单! 我们可以建一个HashMap,以S...
    99+
    2022-11-13
  • Java数据结构之ArrayList从顺序表到实现
    目录1 ArrayList2 ArrayList使用2.1 ArrayList的构造2.2 ArrayList常见操作2.3 ArrayList的遍历2.4 ArrayList的扩容...
    99+
    2023-05-18
    Java ArrayList Java ArrayList顺序表
  • Java顺序表怎么实现图书管理系统
    这篇文章主要讲解了“Java顺序表怎么实现图书管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java顺序表怎么实现图书管理系统”吧!一、简介实现此项目的目的是巩固并理解前面的知识点:...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作