File tree Expand file tree Collapse file tree 2 files changed +28
-3
lines changed
algorithm/sorting/selection/basic Expand file tree Collapse file tree 2 files changed +28
-3
lines changed Original file line number Diff line number Diff line change @@ -5,11 +5,12 @@ for (var i = 0; i < D.length - 1; i++) {
55 var minJ = i ;
66 tracer . _select ( i ) ;
77 for ( var j = i + 1 ; j < D . length ; j ++ ) {
8+ tracer . _select ( j ) ;
89 if ( D [ j ] < D [ minJ ] ) {
9- tracer . _select ( j ) ;
10+ tracer . _notify ( j ) ;
1011 minJ = j ;
11- tracer . _deselect ( j ) ;
1212 }
13+ tracer . _deselect ( j ) ;
1314 }
1415 if ( minJ != i ) {
1516 tracer . _print ( 'swap ' + D [ i ] + ' and ' + D [ minJ ] ) ;
@@ -20,4 +21,4 @@ for (var i = 0; i < D.length - 1; i++) {
2021 }
2122 tracer . _deselect ( i ) ;
2223}
23- tracer . _print ( 'sorted array = [' + D . join ( ', ' ) + ']' ) ;
24+ tracer . _print ( 'sorted array = [' + D . join ( ', ' ) + ']' ) ;
Original file line number Diff line number Diff line change 1+ tracer._print('original array = [' + D.join(', ') + ']');
2+ tracer._sleep(1000);
3+ tracer._pace(500);
4+ for (var i = 0; i < D.length - 1; i++) {
5+ var minJ = i;
6+ tracer._select(i);
7+ for (var j = i + 1; j < D.length; j++) {
8+ tracer._select(j);
9+ if (D[j] < D[minJ]) {
10+ tracer.notify(j);
11+ minJ = j;
12+ }
13+ tracer._deselect(j);
14+ }
15+ if (minJ != i) {
16+ tracer._print('swap ' + D[i] + ' and ' + D[minJ]);
17+ var temp = D[i];
18+ D[i] = D[minJ];
19+ D[minJ] = temp;
20+ tracer._notify(i, minJ);
21+ }
22+ tracer._deselect(i);
23+ }
24+ tracer._print('sorted array = [' + D.join(', ') + ']');
You can’t perform that action at this time.
0 commit comments