File tree 3 files changed +67
-0
lines changed
3 files changed +67
-0
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,43 @@ var Heap = /** @class */ (function () {
21
21
a [ i ] = a [ max ] ;
22
22
a [ max ] = tmp ;
23
23
} ;
24
+ Heap . prototype . removeMax = function ( ) {
25
+ if ( this . count == 0 ) {
26
+ return - 1 ;
27
+ }
28
+ this . a [ 1 ] = this . a [ this . count ] ;
29
+ -- this . count ;
30
+ this . heapify ( this . a , this . count , 1 ) ;
31
+ } ;
32
+ Heap . prototype . heapify = function ( a , n , i ) {
33
+ while ( true ) {
34
+ var maxPos = i ;
35
+ if ( i * 2 < this . n && a [ i ] < a [ i * 2 ] ) {
36
+ maxPos = i * 2 ;
37
+ }
38
+ if ( i * 2 + 1 <= n && a [ maxPos ] < a [ i * 2 + 1 ] ) {
39
+ maxPos = i * 2 + 1 ;
40
+ }
41
+ if ( maxPos == i ) {
42
+ break ;
43
+ }
44
+ this . swap ( a , i , maxPos ) ;
45
+ }
46
+ } ;
47
+ Heap . prototype . buildHelp = function ( a , n ) {
48
+ for ( var i = Math . floor ( n / 2 ) ; i >= 1 ; -- i ) {
49
+ this . heapify ( a , n , i ) ;
50
+ }
51
+ } ;
52
+ Heap . prototype . sort = function ( a , n ) {
53
+ this . buildHelp ( a , n ) ;
54
+ var k = n ;
55
+ while ( k > 1 ) {
56
+ this . swap ( a , 1 , k ) ;
57
+ -- k ;
58
+ this . heapify ( a , k , 1 ) ;
59
+ }
60
+ } ;
24
61
return Heap ;
25
62
} ( ) ) ;
26
63
exports . Heap = Heap ;
Original file line number Diff line number Diff line change
1
+ function Q_rsort ( numberObject ) {
2
+ var i ;
3
+ var x2 ;
4
+ var y ;
5
+ var threehalfs = 1.5 ;
6
+ x2 = numberObject * .5 ;
7
+ y = numberObject ;
8
+ i = y ;
9
+ i = 0x5f3759df - ( i >> 1 ) ;
10
+ y = y * ( threehalfs - x2 * y ^ 2 ) ;
11
+ return y ;
12
+ }
13
+ var res = Q_rsort ( 3 ) ;
14
+ console . log ( res ) ;
Original file line number Diff line number Diff line change
1
+ function Q_rsort ( numberObject : number ) : number {
2
+ let i : number
3
+ let x2 : number
4
+ let y : number
5
+ const threehalfs = 1.5
6
+ x2 = numberObject * .5
7
+ y = numberObject
8
+ i = y
9
+ i = 0x5f3759df - ( i >> 1 )
10
+ y = y * ( threehalfs - x2 * y ^ 2 )
11
+ return y
12
+
13
+ }
14
+
15
+ var res = Q_rsort ( 3 )
16
+ console . log ( res )
You can’t perform that action at this time.
0 commit comments