package basic;
public class SortingAlgs {
public static void main(String[] args) {
int[] arr3 = { 5, 17, 21, 35, 3, 10, 7, 2, 31, 40, 80 };
arr3 = selectionSort(arr3);
print(arr3);
}
public static void print(int[] arr) {
for (int num : arr)
System.out.print(num + " ");
System.out.println();
}
public static int[] selectionSort(int[] arr)
{
for (int i = arr.length - 1; i >= 0; i--)
{
int maxIndex = 0;
for (int j = 1; j <= i; j++)
{
if (arr[j] > arr[maxIndex])
maxIndex = j;
}
int temp = arr[maxIndex];
arr[maxIndex] = arr[i];
arr[i] = temp;
}
return arr;
}
此代码返回
(23 57 10 17 21 31 35 40 80)
所以我想添加一个新的数组元素,例如
(23 57 10 17 21 31 35 40 80 -- 83 98 100 )
答案 0 :(得分:1)
尝试使用ArrayList
,其对象为Integer
无论何时添加新对象,数组列表都会自行调整大小
ArrayList<Integer> numbers= new ArrayList<Integer>();
然后numbers.add(Integer.valueOf(5));
在这里查看ArrayList类https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
答案 1 :(得分:1)
您可以使用java.lang.System.arraycopy()
方法编写如下函数。
public static int[] addElement(int[] originalArray, int newElem){
int[] elementArray = new int[]{newElem};
int[] newArray = new int[originalArray.length + 1];
System.arraycopy(originalArray,0, newArray,0, originalArray.length);
System.arraycopy(elementArray,0, newArray, originalArray.length, 1);
return newArray;
}
请查看this。
答案 2 :(得分:0)
您无法更改现有阵列。
如果要动态添加/删除项目,请尝试使用List<Integer>
。