これはちょっと変わった質問だと思いますが、クイックソート アルゴリズム用の次の Java コードを見つけました。
private static void quickSort (ArrayList <String> list, int first, int last){
int g = first;
int h = last;
int midIndex = (first + last) / 2;
String dividingValue = list.get(midIndex);
do{
while (list.get(g).compareTo(dividingValue) < 0) g++;
while (list.get(h).compareTo(dividingValue) > 0) h--;
if (g <= h)
{
swap(list,g,h);
g++;
h--;
}
}
while (g < h);
if (h > first) quickSort (list,first,h);
if (g < last) quickSort (list,g,last);
}
private static void swap (ArrayList <String> list, int first, int h)
{
String temp = list.get(first);
list.set(first, list.get(h));
list.set(h, temp);
}
私は働いていますが、それは私には本当に意味がありません。誰かがこのコードの説明を何とかしてもらえますか? または、可能であればクイックソートのより単純なコードを教えてください。