当前位置: 首页 > 后端技术 > Java

Java_SequentialList序列表分享

时间:2023-04-02 00:05:47 Java

Java_SequentialListSequentialList先看代码再分享1.SequentialList代码下面是完整的序列表代码和注释包ShunXuBiao;importjava.util.Arrays;importjava.util.Scanner;publicclassSequentialList{privateint[]sxb;//声明序列表privateintlength=0;//定义长度Scannerinput=newScanner(System.in);//键盘输入privateintKxg=input.nextInt();//根据不同情况定义一个样本空间的最大值,可以随时修改publicSequentialList(){this.sxb=newint[Kxg];//定义序列表样本空间的最大值this.length=0;//初始化元素个数为0}publicvoidadd(inta){sxb[length]=a;//赋值length++到样本空间的第一个位置;//每存储一个元素,长度就会+1if(length>Kxg-1)//如果位置超过样本空间的最大值,就会异常被抛出thrownewRuntimeException("构造线性表,长度越界");}publicintinsert(intb,intc){//插入位置用b表示,插入的元素用c表示if(length==sxb.length)//元素的长度完全一样作为样本空间的最大值thrownewRuntimeException("位置已满,不能插入新元素");//发生溢出if(b<1||b>length+1)thrownewRuntimeException("Positionexception");//插入位置不是在长度范围内for(intj=length;j>=b;j--){//从元素的最大点开始,逐个向后移动sxb[j]=sxb[j-1];//Insertfrom位置后的所有元素都向后移动一位}sxb[b-1]=c;//给插入的元素到位置b的返回长度;}publicintlocate(intd){//查询值用d表示intresult=0;//定义一个可以存储查询值位置的值for(inti=length-1;i>=0;i--){//从最大元素向前逐个查找if(sxb[i]==d){//当下标得到的值与查询值一致时result=i+1;//将查询值的位置给resultbreak;}}returnresult;//返回记录的位置}publicintdelete(intf){//删除的值用f表示if(f<1||f>length+1){thrownewRuntimeException("位置异常");//插入位置不在长度范围内}intBaoLiu=sxb[f-1];//对删除的元素进行记录备份for(intj=f-1;j{privateint[]sxb;//声明序列表privateintlength=0;//定义长度Scannerinput=newScanner(System.in);//从键盘输入privateintKxg=input.nextInt();//定义一个样本空间的最大值,可以根据不同情况随时修改publicSequentialList(){this.sxb=newint[Kxg];//定义序列表样本空间的最大值this.length=0;//初始化元素个数为0}}4.2进行插入publicintinsert(intb,intc){//插入位置用b表示,插入的元素用c表示if(length==sxb.length)//元素的长度刚好与样本空间的最大值一致thrownewRuntimeException("位置已满,不能插入新元素");//发生溢出if(b<1||b>length+1)thrownewRuntimeException("位置异常");//插入位置不在长度范围内1];//插入位置之后的元素全部后移一位}sxb[b-1]=c;//把插入的元素给到位置breturnlength;}4.3Makeaquerypublicintlocate(intd){//用d表示查询值intresult=0;//定义一个值,可以存储查询值的位置for(inti=length-1;我>=0;i--){//从最大元素开始,逐个向前查找if(sxb[i]==d){//当下标得到的值与查询值一致时,result=我+1;//把查询值的位置给resultbreak;}}返回结果;//返回记录的位置}4.4做一个deletepublicintdelete(intf){//删除的值用f表示if(f<1||f>length+1){thrownewRuntimeException("位置异常");//插入位置不在长度范围内}intBaoLiu=sxb[f-1];//对删除的元素进行记录备份for(intj=f-1;j