请问:现有一个有序的数组,现在想要将一个元素插入到该数组中去,还要保证该数组是有序的;
因为数组长度一旦确定就不能改变,但是我想知道,有没有一种方法可以增加数组的长度并且按照合法的顺序添加元素。length变为length+1;
数组元素添加完成后“效果应该是:[11,22,33,44,56,78,99,100,102]”
不建议对数组进行添加和删除操作,效率很低。正常情况下没有这样搞的
使用Linklist,也就是链表,直接插入就行;链表长度可以随意更改,适用于,插入删除操作多的情况(效率比数组高很多,不会有空间浪费),定长数组适用于查找多的情况,效率比链表高
有序的数组 和List有什么区别呢
public class kk {
public static void main(String[] args) {
int[] hu={11,22,33,44,55,66,77,88};
int i;
ArrayList<String> xinde= new ArrayList<String>();
xinde=insert(hu,47);
System.out.println("旧数组"+hu.length);
System.out.println("新数组"+xinde.size());
for(i=0;i<xinde.size();i++){
System.out.print(xinde.get(i)+",");
}
}
public static ArrayList<String> insert(int[] arr, int key){
ArrayList<String> jiude = new ArrayList<String>();
int i;
int j;
for (i = 0; arr[i] < key; i++) {
jiude.add(String.valueOf(arr[i]));
}
jiude.add(String.valueOf(key));
for (j = i; j < arr.length; j++) {
jiude.add(String.valueOf(arr[j]));
}
return jiude;
}
}