Skip to content

Commit edbd333

Browse files
chore runlength
1 parent c097efd commit edbd333

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/algorithms/controllers/msort_arr_nat.js

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ export function run_msort() {
174174

175175
let A = nodes;
176176
let B = [...entire_num_array].fill(undefined);
177-
let runlength = 1; // length of run to merge
178177
let runcount = 0; // number of runs merged
179178

180179
chunker.add('Main', (vis, a, b, c_length, c_count) => {
@@ -208,7 +207,7 @@ export function run_msort() {
208207
209208
highlight2Runlength(vis, left_2, mid_2, right_2, colorA, colorB);*/
210209

211-
}, [runlength, left, runcount]);
210+
}, [left, runcount]);
212211

213212
chunker.add('runcount', (vis, c_rcount) => {
214213

@@ -232,7 +231,7 @@ export function run_msort() {
232231
//assignVarToA(vis, ('size = ' + (size)), undefined, size);
233232

234233
assignVarToA(vis, 'mid', c_mid, size);
235-
}, [mid, runlength]);
234+
}, [mid]);
236235

237236
while (mid < size && A[mid] <= A[mid + 1]) {
238237
chunker.add('FirstRunWhile', (vis, c_left, c_mid, c_right) => {
@@ -247,6 +246,7 @@ export function run_msort() {
247246

248247
let right = mid + 1;
249248

249+
250250
chunker.add('right', (vis, c_right) => {
251251
assignVarToA(vis, 'right', c_right, size);
252252
}, [right]);
@@ -313,12 +313,13 @@ export function run_msort() {
313313
if (!(ap1 <= max1 && ap2 <= max2)) break;
314314

315315
chunker.add('MergeWhile', (vis, a, c_left, c_right, c_mid, c_ap1, c_max1, c_ap2, c_max2, c_bp, c_rlength) => {
316+
console.log("c_left, c_mid, c_right" + left + " " + mid + " " + right);
316317
vis.array.set(a, 'msort_arr_nat');
317318
displayMergeLabels(vis, c_ap1, c_max1, c_ap2, c_max2, c_bp, size);
318319
// future color: should be colorA & colorB
319320
highlight2Runlength(vis, c_left, c_mid, c_right, colorA, colorA);
320321
set_simple_stack(vis.array, [c_rlength]);
321-
}, [A, left, right, mid, ap1, max1, ap2, max2, bp, runlength]);
322+
}, [A, left, right, mid, ap1, max1, ap2, max2, bp]);
322323

323324
chunker.add('findSmaller', () => {
324325
// no animation
@@ -340,7 +341,7 @@ export function run_msort() {
340341
// highlight sorted elements green (colorC)
341342
for (let i = c_left; i <= c_bp; i++) highlightB(vis, i, colorC);
342343
//set_simple_stack(vis.array, [c_rlength]);
343-
}, [A, B, ap1, max1, ap2, max2, bp, left, right, mid, runlength]);
344+
}, [A, B, ap1, max1, ap2, max2, bp, left, right, mid]);
344345

345346
ap1 = ap1 + 1;
346347
chunker.add('ap1++', (vis, c_ap1) => {
@@ -371,7 +372,7 @@ export function run_msort() {
371372
// highlight sorted elements green / colorB
372373
for (let i = c_left; i <= c_bp; i++) highlightB(vis, i, 'green')
373374
//set_simple_stack(vis.array, [c_rlength]);
374-
}, [A, B, ap1, ap2, bp, max1, max2, left, right, mid, runlength]);
375+
}, [A, B, ap1, ap2, bp, max1, max2, left, right, mid]);
375376

376377
ap2 = ap2 + 1;
377378
chunker.add('ap2++', (vis, c_ap2) => {
@@ -407,7 +408,7 @@ export function run_msort() {
407408
// future color: should be colorA & colorB
408409
highlight2Runlength(vis, c_left, c_mid, c_right, colorA, colorA);
409410
set_simple_stack(vis.array, [c_rlength]);
410-
}, [A, B, ap1, max1, left, right, mid, bp, runlength]);
411+
}, [A, B, ap1, max1, left, right, mid, bp]);
411412

412413
for (let i = ap2; i <= max2; i++) {
413414
B[bp] = A[i];
@@ -427,7 +428,7 @@ export function run_msort() {
427428
// future color: should be colorA & colorB
428429
highlight2Runlength(vis, c_left, c_mid, c_right, colorA, colorA);
429430
set_simple_stack(vis.array, [c_rlength]);
430-
}, [A, B, ap2, max2, left, right, mid, runlength]);
431+
}, [A, B, ap2, max2, left, right, mid]);
431432

432433
// copy merged elements from B to A
433434
for (let i = left; i <= right; i++) {
@@ -442,7 +443,7 @@ export function run_msort() {
442443
// highlight all sorted elements green
443444
for (let i = c_left; i <= c_right; i++) highlight(vis, i, colorC);
444445
set_simple_stack(vis.array, [c_rlength]);
445-
}, [A, B, left, right, runlength]);
446+
}, [A, B, left, right]);
446447
}
447448
let left2 = left; // this is the old left before it was updated
448449
//if (right + 1 <= size) {
@@ -459,7 +460,7 @@ export function run_msort() {
459460
displayRunlength(vis, c_rlength, size);
460461
}*/
461462

462-
}, [runlength, runcount]);
463+
}, [runcount]);
463464
chunker.add('left2', (vis, old_left, c_left, c_right) => {
464465
// unhighlight all elements in A
465466
for (let i = old_left; i <= c_right; i++) {
@@ -469,7 +470,7 @@ export function run_msort() {
469470

470471
}, [left2, left, right]);
471472

472-
} while (left < size);
473+
} while (left < size - 1);
473474

474475
} while (runcount > 1);
475476

0 commit comments

Comments
 (0)