File tree Expand file tree Collapse file tree 3 files changed +105
-0
lines changed Expand file tree Collapse file tree 3 files changed +105
-0
lines changed Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+ Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
3
+ var MergeSort = /** @class */ ( function ( ) {
4
+ function MergeSort ( a , n ) {
5
+ this . a = a ;
6
+ this . n = n ;
7
+ }
8
+ MergeSort . prototype . mergeSortInternally = function ( a , p , r ) {
9
+ if ( r === void 0 ) { r = this . n ; }
10
+ try {
11
+ if ( p >= r )
12
+ return ;
13
+ var q = p + ( r - p ) / 2 ;
14
+ this . mergeSortInternally ( a , p , q ) ;
15
+ this . mergeSortInternally ( a , q + 1 , r ) ;
16
+ this . merge ( a , p , q , r ) ;
17
+ }
18
+ catch ( err ) {
19
+ console . error ( err ) ;
20
+ return ;
21
+ }
22
+ } ;
23
+ MergeSort . prototype . merge = function ( a , p , q , r ) {
24
+ var i = p ;
25
+ var j = q + 1 ;
26
+ var k = 0 ;
27
+ var len = ( r - p + 1 ) . toFixed ( 0 ) ;
28
+ console . log ( 'len::' , len ) ;
29
+ var tmp = [ ] ;
30
+ while ( i <= q && j <= r ) {
31
+ if ( a [ i ] <= a [ j ] ) {
32
+ tmp [ k ++ ] = a [ i ++ ] ;
33
+ }
34
+ else {
35
+ tmp [ k ++ ] = a [ j ++ ] ;
36
+ }
37
+ }
38
+ var start = i ;
39
+ var end = q ;
40
+ if ( j <= r ) {
41
+ start = j ;
42
+ end = r ;
43
+ }
44
+ while ( start <= end ) {
45
+ tmp [ k ++ ] = a [ start ++ ] ;
46
+ }
47
+ for ( var i_1 = 0 ; i_1 <= r - p ; ++ i_1 ) {
48
+ a [ p + i_1 ] = tmp [ i_1 ] ;
49
+ }
50
+ } ;
51
+ return MergeSort ;
52
+ } ( ) ) ;
53
+ exports . MergeSort = MergeSort ;
Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+ Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
3
+ var QuickSort = /** @class */ ( function ( ) {
4
+ function QuickSort ( a , n ) {
5
+ QuickSort . quickSortInternally ( a , 0 , n - 1 ) ;
6
+ }
7
+ QuickSort . quickSortInternally = function ( a , p , r ) {
8
+ if ( p >= r )
9
+ return ;
10
+ var q = QuickSort . partition ( a , p , r ) ; // 获取分区点
11
+ QuickSort . quickSortInternally ( a , p , q - 1 ) ;
12
+ QuickSort . quickSortInternally ( a , q + 1 , r ) ;
13
+ } ;
14
+ /**
15
+ * @param a {Array}
16
+ * @param p start index
17
+ * @param r end index
18
+ * */
19
+ QuickSort . partition = function ( a , p , r ) {
20
+ var pivot = a [ r ] ;
21
+ var i = p ;
22
+ for ( var j = p ; j < r ; ++ j ) {
23
+ if ( a [ j ] < pivot ) {
24
+ var tmp_1 = a [ i ] ;
25
+ a [ i ] = a [ j ] ;
26
+ a [ j ] = tmp_1 ;
27
+ ++ i ;
28
+ }
29
+ }
30
+ var tmp = a [ i ] ;
31
+ a [ i ] = a [ r ] ;
32
+ a [ r ] = tmp ;
33
+ console . log ( "i=" + i ) ;
34
+ return i ;
35
+ } ;
36
+ return QuickSort ;
37
+ } ( ) ) ;
38
+ exports . QuickSort = QuickSort ;
Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+ Object . defineProperty ( exports , "__esModule" , { value : true } ) ;
3
+ var Util = /** @class */ ( function ( ) {
4
+ function Util ( ) {
5
+ }
6
+ /**
7
+ * @bignumber {math.js bignumber }
8
+ * */
9
+ Util . transBigNumber = function ( bignumber ) {
10
+ return Number ( bignumber . toString ( ) ) ;
11
+ } ;
12
+ return Util ;
13
+ } ( ) ) ;
14
+ exports . Util = Util ;
You can’t perform that action at this time.
0 commit comments