2017-04-12 6 views
0
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; 

} 

このコードでは、既存の配列を変更することはできません関数を追加するvoid addRange(int [] array)新しい配列の要素を既存の配列の末尾に配置しますか?

(23 57 10 17 21 31 35 40 80) 

だから私は新しい配列要素を追加したい、たとえば

(23 57 10 17 21 31 35 40 80 -- 83 98 100) 

答えて

0

を返します。

項目を動的に追加/削除する場合は、List<Integer>をお試しください。

1

は、あなたが使用することができます

ArrayList<Integer> numbers= new ArrayList<Integer>(); を追加されるたびに自分自身のサイズを変更しているInteger 配列リストの対象とArrayListを使用してみてください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をご覧ください。

関連する問題