From 18fe8a8a93bfcf105b92e291c4912e6721c6a428 Mon Sep 17 00:00:00 2001 From: rec0de Date: Wed, 25 Apr 2018 20:03:06 +0200 Subject: [PATCH] Optimize getPivot readOps --- QuickSort/src/lab/QuickSortB.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/QuickSort/src/lab/QuickSortB.java b/QuickSort/src/lab/QuickSortB.java index 49fbf7a..9a23067 100755 --- a/QuickSort/src/lab/QuickSortB.java +++ b/QuickSort/src/lab/QuickSortB.java @@ -34,7 +34,9 @@ public class QuickSortB extends QuickSort { } private SortingItem getPivot(int left, int right, SortArray records, SortingItem l, SortingItem r) { - SortingItem m = records.getElementAt((int) Math.floor(left + (right - left) / 2)); + int mIndex = (int) Math.floor(left + (right - left) / 2); + + SortingItem m = (mIndex == left) ? l : records.getElementAt(mIndex); SortingItem t = null; // 'Sort' the three elements by doing two swaps if necessary, then return the middle (= median) one