0
最初の要素を使用してそれを他のすべての要素と比較し、最初の要素の新しい位置がピボット点になるクイックソートを作成する必要があります。私を助けてください。関連するサブアレイの最初の要素がピボット点であるクイックソートが必要
最初の要素を使用してそれを他のすべての要素と比較し、最初の要素の新しい位置がピボット点になるクイックソートを作成する必要があります。私を助けてください。関連するサブアレイの最初の要素がピボット点であるクイックソートが必要
3つのリストを作成し、それらがピボットより高いか、ピボットより低いか、ピボットと等しいかによって値を区切ることで、それを実行できます。たとえば:
public static List<Integer> quickSort(List<Integer> n) {
List<Integer> low = new ArrayList<Integer>();
List<Integer> piv = new ArrayList<Integer>();
List<Integer> high = new ArrayList<Integer>();
int pivot = n.get(0);
for (Integer d : n) {
if (d < pivot)
low.add(d);
else if (d > pivot)
high.add(d);
else
piv.add(d);
}
low.addAll(piv);
low.addAll(high);
return low;
あなたは何か試したことがありますか、あなただけの宿題をお探しですか? – JSantos
今までのコードを共有して、失敗した位置を指摘できますか?そうすれば、問題の理解と解決に役立ちます。 – user3079834