@@ -11,20 +11,20 @@ export quick_sort;
11
11
export quick_sort3;
12
12
export Sort ;
13
13
14
- type le < T > = pure fn( v1 : & T , v2 : & T ) -> bool ;
14
+ type Le < T > = pure fn( v1 : & T , v2 : & T ) -> bool ;
15
15
16
16
/**
17
17
* Merge sort. Returns a new vector containing the sorted list.
18
18
*
19
19
* Has worst case O(n log n) performance, best case O(n), but
20
20
* is not space efficient. This is a stable sort.
21
21
*/
22
- fn merge_sort < T : copy > ( le : le < T > , v : & [ const T ] ) -> ~[ T ] {
23
- type slice = ( uint , uint ) ;
22
+ fn merge_sort < T : copy > ( le : Le < T > , v : & [ const T ] ) -> ~[ T ] {
23
+ type Slice = ( uint , uint ) ;
24
24
25
25
return merge_sort_ ( le, v, ( 0 u, len ( v) ) ) ;
26
26
27
- fn merge_sort_ < T : copy > ( le : le < T > , v : & [ const T ] , slice : slice )
27
+ fn merge_sort_ < T : copy > ( le : Le < T > , v : & [ const T ] , slice : Slice )
28
28
-> ~[ T ] {
29
29
let begin = slice. first ( ) ;
30
30
let end = slice. second ( ) ;
@@ -39,7 +39,7 @@ fn merge_sort<T: copy>(le: le<T>, v: &[const T]) -> ~[T] {
39
39
return merge ( le, merge_sort_ ( le, v, a) , merge_sort_ ( le, v, b) ) ;
40
40
}
41
41
42
- fn merge < T : copy > ( le : le < T > , a : & [ T ] , b : & [ T ] ) -> ~[ T ] {
42
+ fn merge < T : copy > ( le : Le < T > , a : & [ T ] , b : & [ T ] ) -> ~[ T ] {
43
43
let mut rs = ~[ ] ;
44
44
vec:: reserve ( rs, len ( a) + len ( b) ) ;
45
45
let a_len = len ( a) ;
@@ -58,7 +58,7 @@ fn merge_sort<T: copy>(le: le<T>, v: &[const T]) -> ~[T] {
58
58
}
59
59
}
60
60
61
- fn part < T : copy > ( compare_func : le < T > , arr : & [ mut T ] , left : uint ,
61
+ fn part < T : copy > ( compare_func : Le < T > , arr : & [ mut T ] , left : uint ,
62
62
right : uint , pivot : uint ) -> uint {
63
63
let pivot_value = arr[ pivot] ;
64
64
arr[ pivot] <-> arr[ right] ;
@@ -75,7 +75,7 @@ fn part<T: copy>(compare_func: le<T>, arr: &[mut T], left: uint,
75
75
return storage_index;
76
76
}
77
77
78
- fn qsort < T : copy > ( compare_func : le < T > , arr : & [ mut T ] , left : uint ,
78
+ fn qsort < T : copy > ( compare_func : Le < T > , arr : & [ mut T ] , left : uint ,
79
79
right : uint ) {
80
80
if right > left {
81
81
let pivot = ( left + right) / 2 u;
@@ -94,7 +94,7 @@ fn qsort<T: copy>(compare_func: le<T>, arr: &[mut T], left: uint,
94
94
* Has worst case O(n^2) performance, average case O(n log n).
95
95
* This is an unstable sort.
96
96
*/
97
- fn quick_sort < T : copy > ( compare_func : le < T > , arr : & [ mut T ] ) {
97
+ fn quick_sort < T : copy > ( compare_func : Le < T > , arr : & [ mut T ] ) {
98
98
if len :: < T > ( arr) == 0 u { return ; }
99
99
qsort :: < T > ( compare_func, arr, 0 u, len :: < T > ( arr) - 1 u) ;
100
100
}
0 commit comments