用java代码实现编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个

如题所述


public class HandleArray {

public static void main(String[] args) {
HandleArray handleArray = new HandleArray();
int[] arr = new int[]{19,4,3,7,2,5,4};
arr = handleArray.orderArrayAsc(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
arr = handleArray.insertIntoAscArray(arr,20);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}

//数组升序排列函数
public int[] orderArrayAsc(int[] array){
for (int i = 0; i < array.length-1; i++) {
for (int j = i+1; j < array.length; j++) {
if(array[i]>array[j]){
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}
return array;
}

//在升序数组中插入一个数值函数
public int[] insertIntoAscArray(int[] array,int val){
int[] tmpArray = new int[array.length+1];
int n = 0;
//当前数比数组中的所有数都大
if(array[array.length-1]<val){
n = array.length;
}else{
//比较大小,找出该数值应该在数组中的位置
for (int i = 0; i < array.length; i++) {
if(array[i]>=val){
n = i;
break;
}
}
}


System.arraycopy(array, 0, tmpArray, 0, n);
tmpArray[n] = val;
System.arraycopy(array, n, tmpArray, n+1, array.length-n);
return tmpArray;
}
}

温馨提示:答案为网友推荐,仅供参考