Skip to content

Commit 35e6d8d

Browse files
committed
merge
1 parent 3693fc1 commit 35e6d8d

File tree

1 file changed

+50
-50
lines changed
  • algorithm/sorting/cycle/basic

1 file changed

+50
-50
lines changed

algorithm/sorting/cycle/basic/code.js

+50-50
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,72 @@
1-
logger._print( 'original array = [' + D.join(', ') + ']' );
1+
logger._print('original array = [' + D.join(', ') + ']');
22
var N = D.length;
33
var writes = 0;
44
var pos;
55
var item;
66
var temp;
7-
for(var cycleStart=0; cycleStart<=N-2; cycleStart++ ){
8-
item = D[cycleStart];
9-
pos = cycleStart;
10-
tracer._select(cycleStart);
7+
for (var cycleStart = 0; cycleStart <= N - 2; cycleStart++) {
8+
item = D[cycleStart];
9+
pos = cycleStart;
10+
tracer._select(cycleStart);
1111

12-
for(var i=cycleStart+1; i<=N-1; i++ ){
13-
tracer._select(i)._wait()._deselect(i);
14-
if( D[i]<item ){
15-
pos++;
16-
}
17-
}
18-
if( pos == cycleStart ){
19-
tracer._deselect(cycleStart);
20-
continue;
12+
for (var i = cycleStart + 1; i <= N - 1; i++) {
13+
tracer._select(i)._wait()._deselect(i);
14+
if (D[i] < item) {
15+
pos++;
2116
}
22-
while( item == D[pos] ){
17+
}
18+
if (pos == cycleStart) {
19+
tracer._deselect(cycleStart);
20+
continue;
21+
}
22+
while (item == D[pos]) {
23+
pos++;
24+
}
25+
26+
temp = D[pos];
27+
D[pos] = item;
28+
item = temp;
29+
30+
if (pos !== cycleStart) {
31+
logger._print('Rewrite ' + D[pos] + ' to index ' + pos + '; the next value to rewrite is ' + item);
32+
} else {
33+
logger._print('Rewrite ' + D[pos] + ' to index ' + pos);
34+
}
35+
tracer._select(pos)._wait()._deselect(pos);
36+
tracer._notify(pos, D[pos])._notify(cycleStart, D[cycleStart])._wait();
37+
tracer._denotify(pos)._denotify(cycleStart);
38+
39+
while (pos != cycleStart) {
40+
pos = cycleStart;
41+
42+
for (i = cycleStart + 1; i <= N - 1; i++) {
43+
tracer._select(i)._wait()._deselect(i);
44+
if (D[i] < item) {
2345
pos++;
46+
}
47+
}
48+
49+
while (item == D[pos]) {
50+
pos++;
2451
}
2552

2653
temp = D[pos];
2754
D[pos] = item;
2855
item = temp;
2956

30-
if( pos !== cycleStart ){
31-
logger._print( 'Rewrite '+D[pos]+' to index '+pos+'; the next value to rewrite is '+item );
32-
}else{
33-
logger._print( 'Rewrite '+D[pos]+' to index '+pos);
57+
if (pos !== cycleStart) {
58+
logger._print('Rewrite ' + D[pos] + ' to index ' + pos + '; the next value to rewrite is ' + item);
59+
} else {
60+
logger._print('Rewrite ' + D[pos] + ' to index ' + pos);
3461
}
3562
tracer._select(pos)._wait()._deselect(pos);
3663
tracer._notify(pos, D[pos])._notify(cycleStart, D[cycleStart])._wait();
3764
tracer._denotify(pos)._denotify(cycleStart);
3865

39-
while( pos != cycleStart ){
40-
pos = cycleStart;
41-
42-
for( i=cycleStart+1; i<=N-1; i++ ){
43-
tracer._select(i)._wait()._deselect(i);
44-
if( D[i]<item ){
45-
pos++;
46-
}
47-
}
48-
49-
while( item == D[pos] ){
50-
pos++;
51-
}
52-
53-
temp = D[pos];
54-
D[pos] = item;
55-
item = temp;
56-
57-
if( pos !== cycleStart ){
58-
logger._print( 'Rewrite '+D[pos]+' to index '+pos+'; the next value to rewrite is '+item );
59-
}else{
60-
logger._print( 'Rewrite '+D[pos]+' to index '+pos);
61-
}
62-
tracer._select(pos)._wait()._deselect(pos);
63-
tracer._notify(pos, D[pos])._notify(cycleStart, D[cycleStart])._wait();
64-
tracer._denotify(pos)._denotify(cycleStart);
65-
66-
writes++;
67-
}
68-
6966
writes++;
67+
}
68+
69+
writes++;
7070
}
7171

72-
logger._print( 'Number of writes performed is ' + writes );
72+
logger._print('Number of writes performed is ' + writes);

0 commit comments

Comments
 (0)