1
ArrayListを使用してJavaで選択ソートアルゴリズムを実装しています。 実装したアルゴリズムは正しいですが、有効な出力が得られません。 私はこのArraylistに間違っている場合は誰でも私を助けてくれることができます。 コード:ArrayListでこの選択ソートを解決するには
import java.util.*;
public class SelectionSort {
public static void main(String[] args) {
ArrayList <Integer> array = new ArrayList<Integer>();
array.add(50);
array.add(30);
array.add(10);
array.add(60);
array.add(40);
System.out.println(array);
selsort(array);
}
private static ArrayList<Integer> selsort(ArrayList<Integer> array){
int i = 0;
int imin = 0;
int len = array.size();
for (i = 0;i <len-1; i++){
imin = i;
for (int j = i+1; j<len; j++) {
if ((Integer) (array.get(j)) < (Integer) (array.get(imin))){
imin = j;
}
Collections.swap(array,i,j);
}
}
System.out.println(array);
return array;
}
}
出力:
[50、30、10、60、40] //前
[40、60、10、30、50] //後
おっと:
正しい場所は、内側ループの外側にあります..thanx @ luk2302 .... ohkあなたもキャスティングを外しました:) – minigeek
@minigeekよろしくお願いします。はい、キャストは削除されました。なぜなら、あなたが取り出したものが何であれIntegerであることを保証するジェネリックArrayListがあるからです。 – luk2302
それは私にエラーが表示されていた前に..ドンノなぜ..それはない – minigeek