Skip to content

Commit b2aa8e5

Browse files
committed
QS med 3 (un)highlight of median etc fixed
1 parent 52d1b5e commit b2aa8e5

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/algorithms/controllers/quickSort_shared.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,9 @@ export function run_QS(is_qs_median_of_3) {
380380
// assigning the pivot as the midpoint calculated above
381381
chunker_add_if(QS_BOOKMARKS.MEDIAN3_mid_to_middle_index, (vis, cur_mid, cur_left, cur_right) => {
382382
highlight(vis, cur_mid, false);
383-
highlight(vis, cur_left, false);
383+
// highlight seems to increment counter rather than set flag
384+
if (cur_left !== cur_mid)
385+
highlight(vis, cur_left, false);
384386
highlight(vis, cur_right, false);
385387
},
386388
[mid, left, right]);
@@ -406,12 +408,14 @@ export function run_QS(is_qs_median_of_3) {
406408
swapAction(QS_BOOKMARKS.MEDIAN3_swap_A_idx_mid_with_A_idx_right_minus_1, mid, right-1);
407409

408410
// pivot <- A[right - 1]
409-
pivot_index = right-1
411+
pivot_index = right-1;
410412
chunker_add_if(QS_BOOKMARKS.MEDIAN3_set_pivot_to_value_at_array_indx_right_minus_1,
411413
(vis, cur_right, cur_left, cur_real_stack, cur_finished_stack_frames, cur_i, cur_j, cur_pivot_index, cur_depth) => {
412414
unhighlight(vis, cur_right, false);
413415
unhighlight(vis, cur_right -1, false);
414-
unhighlight(vis, cur_left, false);
416+
// unhighlight seems to decrement counter rather than unset flag
417+
if (cur_left !== cur_right -1)
418+
unhighlight(vis, cur_left, false);
415419

416420
refresh_stack(vis, cur_real_stack, cur_finished_stack_frames, cur_i, cur_j, cur_pivot_index, cur_depth) // refresh stack to show pivot_index
417421
},

0 commit comments

Comments
 (0)