Java中数组难点,插入新数据/删除数据

本文阅读 4 分钟
首页 代码,Java 正文

1.往数组中插入一个新数据         我们知道,数据相当于一个容器,是用来存储一组相同数据类型的数据的,并且存储的数据是井然有序的,有自己的位置,方便取出。那我们就能知道,如果要是往数组里面插入一个新的数据,则需要先确定新插入的内容的位置,接着就需要把当前位置之后的数据都后移一位(为了给新插入的数据腾位置),这样就空出了一个位置,然后再把新数据放在这个空出的位置上。         类比生活中的一个小例子,就比如排队买东西,越靠前的人就能越快买东西,是按着顺序一个一个来的。现在呢,来了一个vip,要让他第一个买东西,那是不是就得需要之前排队的那些人都得往后挪一个位置,然后腾出第一的位置给这个vip。插队这个行为不太好😅哈,但感觉这个例子原理挺符合我们数组插入新数据。         不管敲什么代码,都得现把思路屡清楚。分三步走:确定新数据的位置→→这个位置之后的数据后移→→把新元素放上去

代码如下:

int list[]=new int[6];//声明一个整型的数组,并让其长度为6
        list[0]=99;
        list[1]=85;
        list[2]=82;
        list[3]=63;
        list[4]=60;
        System.out.println("插入前的成绩是:");
        for(int m=0;m<list.length;m++){ 
            System.out.print(list[m]+"\t");
            if(m==list.length-1){ 
                System.out.println("");
            }
        }
        int index=list.length;//保存新增数据的插入位置,先默认为最后一个位置,即五
        Scanner input=new Scanner(System.in);
        System.out.print("请输入新增成绩:");
        int num=input.nextInt();//从控制台接收一下新增的数组
        /* * 将数组的数据逐个的与新增的数据进行比较,利用for循环比较,找到新插入数据在数组中的位置 */
        for(int i=0;i<list.length;i++){ 
            if(num>list[i]){ //比较数据的大小
                index=i;//交换数据的位置,即下标。重新给index赋值
                //list[index]=num;//(erro,不能在这里直接把num的值赋给index的位置,因为上一步已经给index申请一个
                //位置了,并且这个位置还有值,也就是i位置的值,也就是说现在在index位置上的数据就是i的值,如果要是再重新给
                //index赋值,就会把index原先的值去掉,那i的值也就去掉了。)
                break;
            }
        }//for结束
        /* * 元素后移 */
        for(int j=list.length-1;j>index;j--){ 
            list[j]=list[j-1];//index下标开始的元素后移一个位置(把后面的下标赋值给前面的)
        }
        list[index]=num;//插入新的数据
        System.out.println("插入成绩的下标是:"+index);
        System.out.println("插入后的成绩是:");
        for(int k=0;k<list.length;k++){ 
            System.out.print(list[k]+"\t");
        }

运行之后的结果是: img 如果要是删除数组中的一个数据的话,思路与插入类似,只不过后移变成前移,也就是把需要删除数据之后的数据都前移一个位置:

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_46540738/article/details/112580476
-- 展开阅读全文 --
安全面试之XSS(跨站脚本攻击)
« 上一篇 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复