【顺序表的模拟实现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();}
运行结果显示如下:
这篇文章到这里就结束了,希望对你有所帮助!