配列の数値を並べ替える簡単なアルゴリズムがあり、すべての要素が最後の要素を除いて順序付けられます。私はこれを修正するために私のループの境界を変更しようとしましたが、代わりに無限ループを作成します。並べ替えアルゴリズムが配列の最後の要素をスキップしています
答えて
while (pointer < arrayLength){
int min = findMinFrom(pointer);
for (int i = pointer; i < arrayLength; i ++){
if (A[i] == min){
swap(i, pointer);
pointer ++;
}
compNewS ++;
}
}
問題が表示されますか?ポインタが更新されるのはA[i] == min
で、そうでなければループします。あなたのpointer++
をその状態から外してください。
これは二つのループで行わが、ここではコードの調整されたバージョンであることができる。
public class Numbers {
private static int [] A ;
public static void main(String [] args) {
int [] array = {3,2,1,4,5,6,7,8,9,7};
A = array;
newSort(array, array.length);
for(int i = 0; i < A.length;i++)
System.out.println(A[i]);
}
public static void newSort(int[] array, int arrayLength){
int pointer = 0;
int p = 0;
while(p < array.length) {
int min = findMinFrom(p,array);
int temp = array[p];
array[p] = min;
array[min] = temp;
p++;
}
}
public static int findMinFrom(int p, int[] array){
int min = p;
for (int i = p; i < array.length; i ++){
if (A[i] < array[p]){
min =i;
}
}
return min;
}
}
ポインタはifループの内側にあるはずです。外側に移動するとエラーが発生しません –
'pointer ++'命令を動かすとプログラムは終了しますが、それも正しくありません。 –
これはエラーを修正し、実装が完全に間違っています。アレイ上で同じエレクタンスがいくつあるか教えていただけますか? 5がminに等しい場合、10要素の配列で、ポインタはarray.lengthに決して到達せず、ループは決して破られません。 –
- 1. 要素を削除した後に配列の並べ替え
- 2. 最後に並べ替えられた要素を保持しないで、javascriptの別の配列に基づいて配列を並べ替え
- 3. InsertionSortアルゴリズムを使用してヌル要素を含む文字列の配列を並べ替えます
- 4. 複数の要素を持つ配列を並べ替える
- 5. SKShapeNode要素の配列を並べ替え
- 6. Symfonyフォーム - CollectionType要素の並べ替え/並べ替え
- 7. 配列の並べ替えと要素の移動
- 8. 配列の並べ替え
- 9. javascript配列最初の列の2d配列を並べ替え
- 10. 配列要素の並べ替えの配列を取得する方法は?
- 11. Angular2またはNodeJs:別の配列に基づくJSON要素の並べ替え/並べ替え
- 12. 配列の要素を並べ替えて印刷するとゴミが出る
- 13. 配列の要素を文字列の順序で並べ替えます。
- 14. Javascript配列内の要素で並べ替え
- 15. 配列の複素数配列を値で並べ替え
- 16. 整数配列の配列を素早く並べ替える
- 17. クローゼットで日付を最初に並べ替え、最後に最後の日付を並べ替えます
- 18. 0を常に最後に並べ替え(昇順と降順の並べ替えの両方で)可観測配列を並べ替えます。
- 19. RubyでTSortを使用して配列の並べ替えと並べ替え
- 20. 5要素を最小要素比較で並べ替える
- 21. 特定の要素に基づいて並べ替えの配列
- 22. 並べ替えオブジェクトの配列が機能していない
- 23. DataMapperの要素を並べ替える
- 24. アイソトープコンテナ内の要素を並べ替え
- 25. トリム並べ替え配列
- 26. Jsonpath並べ替え配列
- 27. ループの前の配列の並べ替え配列の並べ替えを維持しない
- 28. d3jsを使用して配列の配列を並べ替え
- 29. データフレームの列を最後の列に並べ替える方法
- 30. ツリー並べ替え中に配列が並べ替えられない
あなたgetUsed()メソッドです。そこだけ 'array.length'ていることを、必ずではなく' Array.lengthと-1 ' –
getUsedSize()はちょうどそれが選択ソートですか?サイズを使用している何usedSize –
返し、あなたは全体のリストをチェックしなければなりません。これを試してみてください: 'for(int i = pointer + 1; i