JAVA里怎么向一个已经满的数组,插入数据!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA里怎么向一个已经满的数组,插入数据!相关的知识,希望对你有一定的参考价值。
定义好长度的数组在插入数据时能改变长度吗
比如一个简单的 int[] arr=1,2,3,4,5,6,怎么向数组里添加数据,然后输出。
用线性表,怎么用?
能用动态数组吗?怎么用?
这种情况推荐你使用List,它是可扩充的,没有长度限制。追问
怎么用啊?
参考技术AJAVA里向一个已经满的数组插入数据可以使用Arrays.copyOf方法实现。
实现代码:
int[] arr=new int[]1,2,3,4,5;arr=Arrays.copyOf(arr, arr.length+1);//数组扩容
arr[arr.length-1]=6; //插入数据
for(int i=0;i<arr.length;i++)
System.out.print(arr[i]+",");
参考技术B 数组的长度不能改变,除非重新定义一个长度更长的数组,把原来的数组拷贝进去。 参考技术C 不能 数组定义好了 长度是不可变的 参考技术D 不能,最好是重新构造一个大点的数组,把前面的值赋进去
练习三十九:数组插入排序
数组序列的排序有内置方法,insert(),但是要对已经排序好的数组进行插入排序时,让插入的数据满足原有排序怎么操作,先看习题
已知有一个已经排序好的数组,要求是,将一个新的数据项插入到数组中
思考过程;
先判断原数组的排序方法,然后按照排序方法,将新数据与数据中最后一个数据进行比较,然后找到插入位置后,将数据依次向后移动一个位置
1 # a = [1,3,4,6,8,12,13] 2 a = [8,5,4,1] 3 4 flag = 1 5 for i in range(len(a)): 6 for j in range(i,len(a)): 7 if a[i]>a[j]: 8 flag = 1 9 elif a[i]<a[j]: 10 flag = 0 11 print(a) 12 nnum = int(input(‘输入要插入的数据:‘)) 13 if flag == 0: 14 if a[0] >= nnum: 15 a.insert(0,nnum) 16 elif nnum > a[0] and nnum < a[-1]: 17 for i in range(len(a)): 18 if a[i] < nnum and a[i+1] >= nnum: 19 a.insert(i+1,nnum) 20 break 21 else: 22 a.append(nnum) 23 if flag == 1: 24 if a[-1] >= nnum: 25 a.append(nnum) 26 elif nnum < a[0] and nnum > a[-1]: 27 for i in range(len(a)): 28 if a[i] > nnum and a[i+1] <= nnum: 29 a.insert(i+1,nnum) 30 break 31 else: 32 a.insert(0,nnum) 33 print(a)
1 [8, 5, 4, 1] 2 输入要插入的数据:0 3 [8, 5, 4, 1, 0]
以上是关于JAVA里怎么向一个已经满的数组,插入数据!的主要内容,如果未能解决你的问题,请参考以下文章