顺序表各种功能的实现
发布日期:2021-05-07 10:01:57 浏览次数:15 分类:精选文章

本文共 2548 字,大约阅读时间需要 8 分钟。

顺序表各种功能的实现

public class Demo09 {       public static void main(String[] args) {           MyArrayList myArrayList = new MyArrayList();        myArrayList.add(0,1);        myArrayList.add(1,2);        myArrayList.add(1,3);        myArrayList.add(2,4);        myArrayList.show();//打印顺序表        myArrayList.add(3,99);        myArrayList.show();        System.out.println(myArrayList.key(99));//判断是否有key元素,true为有        System.out.println(myArrayList.keyNum(99));//输出key元素的位置        System.out.println(myArrayList.getPos(3));//输出pos下标的元素        myArrayList.replace(3,88);//替换pos位置的元素为val        myArrayList.show();        myArrayList.del(88);//删除第一次出现的关键字key        myArrayList.show();        System.out.println(myArrayList.getLegth());//获取长度        myArrayList.clear();//清空顺序表        myArrayList.show();    }}class MyArrayList{       //普通成员变量    public int[] elem;    public int usedSize;    //构造方法    public MyArrayList(){           this.elem = new int[1];    }    //判断是否有key元素    public boolean key (int key){           for (int i = 0 ; i < this.usedSize; i++ ){               if(elem[i] == key){                   return true;            }        }        return false;    }    //输出key元素的下标    public int keyNum (int key){           for (int i = 0 ; i < this.usedSize; i++ ){               if(elem[i] == key){                   return i;            }        }        return -1;    }    //获取pos下标位置的元素    public int getPos(int pos){           if (pos<0||pos>=this.usedSize) {               return -1;        }        return this.elem[pos];    }    //替换pos位置的元素为val    public void replace(int pos,int val){           if (pos<0||pos>=this.usedSize) {               System.out.printf("pos不在范围内");        }else {               this.elem[pos] = val;        }    }    //删除第一次出现的关键字key    public void del (int key){           for (int i = 0; i < this.usedSize; i++) {               if(elem[i] == key){                   for (;i
this.usedSize || pos<0){ return; } for (int i = this.usedSize-1;i >= pos ;i--){ elem[i+1] = elem[i]; } this.elem[pos] = data; this.usedSize++; } //扩容 public void expand(){ int[] tmp = new int[this.elem.length*2]; for (int i = 0 ;i < this.elem.length ; i++ ){ tmp[i] = this.elem[i]; } this.elem = tmp ; return ; } //打印顺序表 public void show(){ for (int i = 0; i < this.usedSize; i++) { System.out.print(this.elem[i] + " "); } System.out.println(); }}
上一篇:SpringMVC框架学习(十三)——全局异常处理
下一篇:SpringMVC框架学习(十二)——路径变量@PathVariable

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月09日 13时16分21秒