Iは、Javaベースのアレイソーティング技術に取り組んで最大または最小を見つけることについてSelection Sort
選択における各パスを有するアレイにおける最小値と最大値の両方を検索ソート
の向上を横切って選択ソート交渉のdocumented approachをつまずいていそれぞれのオブジェクトが、それは、左端のソートされていない要素は、(ソートに入れると、ソートされていないサブリスト内の最小(または最大、順序を並べ替えに に応じて)要素を見つける を交換(スワップ)によって
アルゴリズム進行を渡しますサブリストの境界を1つ右の要素に移動します。
私は基本的に私たちがここでやっていることを条件
public static void mySort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length - i; j++) {
//This will make sure smallest element will come first
if (arr[i] > arr[j]) {
swap(arr, i, j);
}
// This will make sure largest element will come last
if (arr[j] > arr[arr.length - 1 - i]) {
swap(arr, arr.length - 1 - i, j);
// This will ensure that if a smaller element existed at the ending position and got swapped , we are making sure that it doesn't get mixed
if (arr[i] > arr[j]) {
swap(arr, i, j);
}
}
}
}
}
の両方をチェックすることで、単一パスで最大の&最小のオブジェクトの両方を見つけることがその可能性は、我々は両端からソートされていることを疑問に思って。 これは、伝統的な選択ソートに比べていくつかの時間を節約し、あなたがアプローチにあなたのフィードバックを提供してくださいと同様のものが既にmy blog post
[このペーパー](http://www.ijaiem.org/Volume2Issue5/IJAIEM-2013-05-31-098.pdf)を参照してください。 –
通常は比較の回数であり、パス数は少なくなりますが、比較は同じです。また、選択ソートは典型的には*シンプル*の小さなセットで使用されますが、大きなコレクションの場合は時間の複雑さの少ないソートが使用されます。 –
ありがとうございます@BoristheSpider ..あなたが指摘した紙はほぼ同じように話していると思います。 – AdityaReddy