File tree 1 file changed +8
-3
lines changed
algorithm/sorting/quick/basic
1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change 1
1
tracer . _print ( 'original array = [' + D . join ( ', ' ) + ']' ) ;
2
2
tracer . _sleep ( 1000 ) ;
3
3
tracer . _pace ( 500 ) ;
4
+
4
5
function quicksort ( low , high ) {
5
6
if ( low < high ) {
6
7
var p = partition ( low , high ) ;
7
8
quicksort ( low , p - 1 ) ;
8
9
quicksort ( p + 1 , high ) ;
9
10
}
10
11
}
12
+
11
13
function partition ( low , high ) {
12
14
var pivot = D [ high ] ;
13
15
tracer . _selectSet ( [ low , high ] ) ;
14
16
var i = low ;
17
+ var temp ;
18
+
15
19
for ( var j = low ; j < high ; j ++ ) {
16
20
if ( D [ j ] <= pivot ) {
17
- var temp = D [ i ] ;
21
+ temp = D [ i ] ;
18
22
D [ i ] = D [ j ] ;
19
23
D [ j ] = temp ;
20
24
tracer . _notify ( i , j ) ;
21
25
i ++ ;
22
26
}
23
27
}
24
- var temp = D [ i ] ;
28
+ temp = D [ i ] ;
25
29
D [ i ] = D [ high ] ;
26
30
D [ high ] = temp ;
27
31
tracer . _notify ( i , high ) ;
28
32
tracer . _deselectSet ( [ low , high ] ) ;
29
33
return i ;
30
34
}
35
+
31
36
quicksort ( 0 , D . length - 1 ) ;
32
- tracer . _print ( 'sorted array = [' + D . join ( ', ' ) + ']' ) ;
37
+ tracer . _print ( 'sorted array = [' + D . join ( ', ' ) + ']' ) ;
You can’t perform that action at this time.
0 commit comments