还剩1页未读,继续阅读
文本内容:
顺序表的插入、删除、查找这里就不展示静态的数组了,直接从可扩展的数组开始如何创建一个线性表〃数组当前已经存储元素的个数private intlength;〃数组最大可以存储元素的个数private intMaxSize;*创建一个数组public int[]CreateArrayint initSize{*创建一个存储长度为的数组initSizeint[]array=new int[initSize];〃初始化的时候,数组存储的元素为length=0;0〃初始化数组最大存储容量MaxSize=initSize;return array;插入数据直接在数组元素最后插入数据*直接插入的话,就默认在数组最后面插入元素日口public int[]insert ementlnTheLastintarray,int element{判断数组是否有空间存储新的元素*如果没有就把数组的空间增加当前数组大小*1/2如果有,不进入*〃数组下标是从开始计算,也就是最大的下标是当数组大小到达这个界限,MaxSize就证明数组已满if length+1=MaxSize{array=autolncreasearray;〃把元素插入数组元素最后的位置array[length]=element;〃增加一个元素,元素个数加Iength++;1return array;把元素插入指定的位置把元素插入指定的位置*日public int[]insert ementint[]array,int index,int element{if index011index=length{你输入的索引位置超出有元素的范围;throw newIndexOutOfBoundsExceptionC〃数组下标是从开始计算,也就是最大的下标是当数组大小到达这个界限,0MaxSize就证明数组已满if length+1=MaxSize{array=autolncreasearray;int temp;〃把数组元素向后移动for inti=length-1;i=index;i-{〃前面的元素,替代掉后面的元素array[i+1]=array[i];array[index]=element;//把元素插入指定位置length++;return array;数组存储快满了,如何自增容量?自动增长数组容量*private int[]autolncreaseint[]OldArray{MaxSize=MaxSize*2;〃增长当前容量的一倍int[]newArray=new int[MaxSize];for inti=0;iOldArray.length;i++{〃把元素逐一放入新的数组中newArray[i]=OldArray[i];return newArray;删除数据根据索引下标删除元素根据索引下标删除元素*public int[]deleteElementBylndexint[]array,int index{if index011index=length{你输入的索引位置超出范围”;throw newIndexOutOfBoundsException〃直接覆盖掉该元素即可array=arrayCopyarray,index;length-;return array;按照值删除数组中的某个元素按照值删除数组中的某个元素*public int[]deleteElementByValueint[]array,int element{〃循环整个数组for inti=0;ilength;i++{〃判断元素是否存在于数组中if array[i]==element{〃把老的数组用新的数组替代掉即可〃并退array=arrayCopyarray,i;break;出外层length-;return array;复制一个新的数组用于插入中,去掉某个元素之后复制一个新的数组,替换掉老的数组*private int[]arrayCopyint[]array,int index{int[]copyArray=new int[MaxSize];{〃把要删除元素的前面元素,插入到新数组中for inti=0;iindex;i++copyArray[i]=array[i];for inti=index;ilength;i++{〃把要删除元素的后面元素,插入到新数组中copyArray[i]=array[i+1];〃替换掉旧的数组return copyArray;修改数据*修改数组中元素的值public voidupdateElementint[]array,int index,int newElement{if index0||index=length{超出数组元素的范围”;throw newIndexOutOfBoundsException array[index]=newElement;以上都是个人所写的简单实现。
个人认证
优秀文档
获得点赞 0