java实现顺序表增删查改的方法

  介绍

这篇文章给大家分享的是有关java实现顺序表增删查改的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

什么是顺序表吗?它是一种什么结构?

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

顺序表分为:

静态顺序表:使用定长数组存储
动态顺序表:使用动态开辟的数组存储

静态顺序表适用于确定知道需要存多少数据的场景。

静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。

顺序表实现

首先得给定一个顺序表的长度,假如你要给列表插入元素,我们得先给0号位置插第一个数,如果0号位置没有数,我们不能直接插在1号位置或是更后边。如果0,1,2号位置都有数据,我们要往0号或1号位置插的话,这个时候得倒着遍历顺序表,让前边的数据往后挪一步。

癹ava实现顺序表增删查改的方法"

增:

public  class  SepList  {   ,,,public  int [], val;//定义数据   ,,,public  int 规模;//存放一个数据则让大小+ +;      ,,,//构造方法,,顺序表大小   ,,,public  SepList () {   ,,,,,,,this.val =, new  int [5];   ,,,}   ,,,//也可以往进传大小   ,,,public  SepList (int  ret) {   ,,,,,,,this.val =, new  int (ret);   ,,,}      ,,,//增加数据,得传要插入的位置与对应位置的数据,就比如0号位置插10   ,,,public  void  addVal (int  pos int  val) {   ,,,,,,,//首先判断顺序表是否满   ,,,,,,,如果(this.val.length ==, size),返回;   ,,,,,,,//其次得看看给的位置是否合法,,pos不能小于0,也不能比如0号位置有数据,1号位置没有数据,,然后插在2号或者更后边的位置   ,,,,,,,如果(pos  & lt;, 0, | |, pos 祝辞,size),返回;   ,,,,,,,//如果0,1,2,3位置都有数据,要往1号位置插,得让后边的位置往后移一步   ,,,,,,,,(int 小姐:=,size;,小姐:祝辞=,pos;,我——){   ,,,,,,,,,,,this.val(小姐:+,- 1),=,this.val[我];   ,,,,,,,}   ,,,,,,,//此时在给定位置插数据   ,,,,,,,this.val (pos),=, val;   ,,,,,,,size + +;   ,,,}      ,,,//打印链表   ,,,public  void 显示器(){   ,,,,,,,,(int 小姐:=,0;,小姐:& lt;, size;,我+ +){   ,,,,,,,,,,,System.out.print (this.val[我],+,“,“);   ,,,,,,,}   ,,,,,,,System.out.println();//打印完后空行   ,,,}      ,,,public  static  void  main (String [], args), {   ,,,,,,,SepList  myList =, new  SepList();//默认用5个元素//,,,,,,,,SepList  myList =, new  SepList(10);//这时候顺序表的大小是10   ,,,,,,,myList.addVal(0, 10);//在0位置插入第一个数据   ,,,,,,,myList.disPlay();//打印      ,,,}   }//执行结果   10

如果要插入多个数据则调用方法即可
比如:

,,,,,,,,myList.addVal(0, 10);//第一次插入   ,,,,,,,myList.addVal (20);   ,,,,,,,myList.addVal (30);   ,,,,,,,myList.addVal (40);   ,,,,,,,myList.addVal (50);   ,,,,,,,myList.disPlay();//打印   ,//执行结果   十,二十,三十,四十,五十

此时顺序表已满如果再往进插入呢

,,,,,,,,myList.addVal(0, 10);//第一次插入   ,,,,,,,myList.addVal (20);   ,,,,,,,myList.addVal (30);   ,,,,,,,myList.addVal (40);   ,,,,,,,myList.addVal (50);   ,,,,,,,myList.addVal (60);   ,,,,,,,myList.addVal (70);   ,,,,,,,myList.disPlay();//打?/执行结果   十,二十,三十,四十,五十

为啥还是原来的,也没有报的错。是因为进入添加函数在判断顺序表为满时,如果满了,直接跳出到打印函数。并不会报错。此时增函数就写好了。

癹ava实现顺序表增删查改的方法"

,,//判定链表是否包含某个元素   public 才能;boolean 包含(int 为了){   ,,,,,,(int 小姐:=,0;,小姐:& lt;, size;,我+ +){   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

java实现顺序表增删查改的方法