Skip to content

Commit 41597bf

Browse files
committed
Fix tracer problems
1 parent 359d5da commit 41597bf

File tree

1 file changed

+11
-5
lines changed
  • algorithm/sorting/shell/basic

1 file changed

+11
-5
lines changed

algorithm/sorting/shell/basic/code.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,21 @@ for (var gap = N; gap = parseInt(gap / 2);) {
77
for (var i = gap; i < N; i++) {
88
tracer._select(i)._select(i - gap)._wait();
99
var k = D[i];
10+
logger._print('Holding: ' + k)
1011
for (var j = i; j >= gap && k < D[j - gap]; j -= gap) {
11-
logger._print('Swap ' + D[j] + ' and ' + D[j - gap]);
12-
tracer._notify(j, D[j])._notify(j - gap, D[j - gap])._wait();
12+
logger._print(k + ' < ' + D[j - gap]);
1313
D[j] = D[j - gap];
14-
tracer._denotify(i - 1)._denotify(i);
14+
tracer._notify(j, D[j])._wait();
15+
tracer._denotify(j);
1516
}
17+
var old = D[j];
1618
D[j] = k;
17-
tracer._notify(j,D[j]);
18-
tracer._denotify(j);
19+
if (old != k) {
20+
tracer._notify(j,D[j])._wait();
21+
tracer._denotify(j);
22+
logger._print('Swapped ' + D[j] + ' with ' + old);
23+
}
24+
1925
tracer._deselect(i)._deselect(i - gap);
2026
}
2127
}

0 commit comments

Comments
 (0)