当前位置: 首页 > news >正文

【顺序表的模拟实现Java】

【顺序表的模拟实现Java】

  • 顺序表的介绍
  • Java代码实现
  • 检验代码功能

顺序表的介绍

由于之前在c语言板块写过详细的顺序表介绍,所以这一篇文章主要为Java代码的实现
下面为顺序表介绍的链接,如有需要点击下方链接跳转
c语言顺序表讲解

Java代码实现

public class MyArraylist {public int[] elem;public int usedSize;//0//默认容量private static final int DEFAULT_SIZE = 10;public MyArraylist() {this.elem = new int[DEFAULT_SIZE];}/*** 打印顺序表:* 根据usedSize判断即可*/public void display() {for (int i = 0; i < usedSize; i++) {System.out.print(elem[i]+" ");}System.out.println("\n");}// 新增元素,默认在数组最后新增public void add(int data) {if(isFull()) return;elem[usedSize++]=data;}/*** 判断当前的顺序表是不是满的!** @return true:满   false代表空*/public boolean isFull() {if(usedSize==DEFAULT_SIZE) return true;else return false;}private boolean checkPosInAdd(int pos) {return true;//合法}// 在 pos 位置新增元素public void add(int pos, int data) {if(isFull()) return;for(int i=usedSize;i>pos;i--){elem[i]=elem[i-1];}elem[pos]=data;usedSize++;}// 判定是否包含某个元素public boolean contains(int toFind) {for (int i = 0; i < usedSize; i++) {if(elem[i]==toFind) return true;}return false;}// 查找某个元素对应的位置public int indexOf(int toFind) {for (int i = 0; i < usedSize; i++) {if(elem[i]==toFind) return i;}return -1;}// 获取 pos 位置的元素public int get(int pos) {if(isEmpty()) return -1;if(pos>=usedSize||pos<0) return -1;return elem[pos];}private boolean isEmpty() {if(elem==null) return true;return false;}// 给 pos 位置的元素设为【更新为】 valuepublic void set(int pos, int value) {if(isEmpty()) return ;if(pos>=usedSize||pos<0) return ;elem[pos]=value;}/*** 删除第一次出现的关键字key** @param key*/public void remove(int key) {int i=indexOf(key);if(i==-1) return;for(;i<usedSize-1;i++){elem[i]=elem[i+1];}usedSize--;}// 获取顺序表长度public int size() {return usedSize;}// 清空顺序表public void clear() {elem=null;usedSize=0;}}

检验代码功能

main方法如下:

 public static void main(String[] args) {MyArraylist l=new MyArraylist();l.add(1);l.add(2);l.add(3);l.add(0,1);l.add(3,2);System.out.print("插入后的顺序表 : ");l.display();l.remove(2);System.out.print("删除第一个2:");l.display();System.out.println("是否包含5: "+ l.contains(5));System.out.println("是否包含3: "+ l.contains(3));l.clear();System.out.print("清空后的链表: ");l.display();}

运行结果显示如下:
在这里插入图片描述
这篇文章到这里就结束了,希望对你有所帮助!


http://www.mrgr.cn/news/52625.html

相关文章:

  • 计算机视觉——人像的分割与无缝融合
  • Vue 3 的不同版本总结
  • 有源滤波器(三)
  • 基于SSM医药垃圾分类管理系统【附源码】
  • springboot定时任务
  • C#笔记(1)
  • “ps“指的是皮秒(picosecond)
  • 如何克服解决 Git 冲突的恐惧症
  • 【时时三省】(C语言基础)函数介绍strcmp
  • 限流是什么?如何限流?怎么限流?
  • Java interface 接口的巧妙应用:让你的代码更优雅
  • 图论刷题
  • 【算法】约瑟夫环问题
  • 期货配资系统风控逻辑开发/完整源代码
  • Oracle Expdp按条件导出-指定表数据
  • 【Vue】Vue(八)Vue3.0 使用ref 和 reactive创建响应式数据
  • 单点登录的要点
  • 终端 数据表格
  • 基于SSM的个性化商铺系统【附源码】
  • MAC 电脑Office power point编辑的时候,显示“某些字体无法随演示文稿一起保存,仍然要保存演示文稿吗?”