文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java数据结构的顺序表怎么操作

2023-06-29 11:52

关注

这篇文章主要介绍了Java数据结构的顺序表怎么操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java数据结构的顺序表怎么操作文章都会有所收获,下面我们一起来看看吧。

前言

线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见 的线性表:顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储 时,通常以数组和链式结构的形式存储。

一、什么是顺序表

顺序表的概念及结构

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改 

 其实就是一个数组。那为什么还要写一个顺序表,直接用数组不就好了?不一样的,写到类里面就可以面向对象。

创建顺序表

Java数据结构的顺序表怎么操作

public class MyArrayList {   public int[] elem;//数组   public int usedSize;//数据的有效个数    public MyArrayList(){       this.elem = new int[10];   }}

打印顺序表

Java数据结构的顺序表怎么操作

 打印结果:

Java数据结构的顺序表怎么操作

因为display是根据usedsize打印的, usedsize没赋值所以什么也不打印。

获取顺序表长度

Java数据结构的顺序表怎么操作

在pos位置新增元素

在顺序表里面插入元素的时候所插入的位置的前面一定是存放了元素的,

画图分析:

Java数据结构的顺序表怎么操作

代码如下:

// 在 pos 位置新增元素    public void add(int pos, int data) {       if(pos < 0 || pos > usedSize){           System.out.println("pos位置不合法");           return;       }       if(isFull()){           this.elem = Arrays.copyOf(this.elem,this.elem.length*2);       }        for (int i = this.usedSize-1; i >=pos ; i--) {            this.elem[i+1] = this.elem[i];        }        this.elem[pos] = data;                this.usedSize++;            }     public boolean isFull(){       return this.usedSize == this.elem.length;    }

打印结果:

Java数据结构的顺序表怎么操作

判定是否包含某个元素

// 判定是否包含某个元素    public boolean contains(int toFind) {        for (int i = 0; i < this.usedSize; i++) {            if (this.elem[i] == toFind) {                return true;            }        }        return false;    }

打印结果:

Java数据结构的顺序表怎么操作

查找某个元素对应的位置

 // 查找某个元素对应的位置    public int search(int toFind) {        for (int i = 0; i <this.usedSize ; i++) {            if(this.elem[i] == toFind){                return i;            }        }       return -1;    }

打印结果:

Java数据结构的顺序表怎么操作

获取 pos 位置的元素

 // 获取 pos 位置的元素    public int getPos(int pos) {       if(pos < 0 || pos > this.usedSize){           System.out.println("pos位置不合法");           return -1;//所以,这里说明一下,业务上的处理,这里不考虑       }       if (isEmpty()){           System.out.println("顺序表为空");           return -1;       }       return this.elem[pos];     }    public boolean isEmpty(){//判断为不为空的情况下       return this.usedSize == 0;    }

打印结果:

Java数据结构的顺序表怎么操作

给 pos 位置的元素设为 value

   // 给 pos 位置的元素设为 value    public void setPos(int pos, int value) {        if (pos < 0 || pos > this.usedSize) {            System.out.println("pos位置不合法");            return ;        }        if (isEmpty()) {            System.out.println("顺序表为空");            return;        }         this.elem[pos] = value;    }    public boolean isEmpty() {//判断为不为空的情况下        return this.usedSize == 0;    }

 打印结果:

Java数据结构的顺序表怎么操作

删除你想要删除的元素

//删除第一次出现的关键字keypublic void remove(int toRemove) {   if(isEmpty()){       System.out.println("顺序表为空");       return;   }   int index = search(toRemove);//查找要删除元素对应的位置   if(index == -1){       System.out.println("没有你要找到数字");       return;   }     for (int i = index; i <this.usedSize-1 ; i++) {        this.elem[i] = this.elem[i+1];    }    this.usedSize--; }

打印结果:

Java数据结构的顺序表怎么操作

关于“Java数据结构的顺序表怎么操作”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java数据结构的顺序表怎么操作”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯