File tree Expand file tree Collapse file tree 2 files changed +52
-1
lines changed
Expand file tree Collapse file tree 2 files changed +52
-1
lines changed Original file line number Diff line number Diff line change @@ -60,7 +60,7 @@ Com o objetivo de alcançar uma abrangência maior e encorajar novas pessoas a c
6060| Insertion Sort Recursivo | C/C++ | Java | [ Python] ( /src/python/insertion_sort_recursivo.py ) | Go | Ruby | Javascript | Pascal |
6161| [ Merge Sort] [ 44 ] | [ C/C++] ( /src/c/MergeSort.c ) | [ Java] ( /src/java/Mergesort.java ) | Python | [ Go] ( /src/go/mergesort/mergesort.go ) | [ Ruby] ( /src/ruby/merge_sort.rb ) | [ Javascript] ( /src/javascript/MergeSort.js ) | [ Pascal] ( /src/pascal/sort/mergesort.pas ) |
6262| [ Quicksort] [ 45 ] | [ C/C++] ( /src/c/QuickSort.cpp ) | [ Java] ( /src/java/Quicksort.java ) | [ Python] ( /src/python/quick_sort.py ) | [ Go] ( /src/go/quicksort/quicksort.go ) | [ Ruby] ( /src/ruby/quick_sort.rb ) | [ Javascript] ( /src/javascript/QuickSort.js ) | Pascal |
63- | [ Radix Sort] [ 46 ] | C/C++ | [ Java] ( /src/java/RadixSort.java ) | Python | [ Go] ( /src/go/radixsort/radixsort.go ) | [ Ruby] ( /src/ruby/radix_sort.rb ) | Javascript | Pascal |
63+ | [ Radix Sort] [ 46 ] | C/C++ | [ Java] ( /src/java/RadixSort.java ) | Python | [ Go] ( /src/go/radixsort/radixsort.go ) | [ Ruby] ( /src/ruby/radix_sort.rb ) | [ Javascript] ( /src/javascript/RadixSort.js ) | Pascal |
6464| [ Selection Sort] [ 47 ] | [ C/C++] ( /src/c/SelectionSort.cpp ) | [ Java] ( /src/java/SelectionSort.java ) | [ Python] ( /src/python/selection_sort.py ) | [ Go] ( /src/go/selectionsort/selectionsort.go ) | [ Ruby] ( /src/ruby/selection_sort.rb ) | [ Javascript] ( /src/javascript/SelectionSort.js ) | [ Pascal] ( /src/pascal/selectsort.pas ) |
6565| [ Shell Sort] [ 48 ] | C/C++ | [ Java] ( /src/java/ShellSort.java ) | [ Python] ( /src/python/shell_sort.py ) | [ Go] ( /src/go/shellsort/shellsort.go ) | Ruby | [ Javascript] ( /src/javascript/ShellSort.js ) | Pascal |
6666| [ Timsort] [ 53 ] | C/C++ | Java | [ Python] ( /src/python/tim_sort.py ) | Go | Ruby | Javascript | Pascal |
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } vector
3+ */
4+ function RadixSort ( vector ) {
5+ let i = 0 ;
6+ let b = new Int32Array ( vector . length ) ;
7+ let bigger = vector [ 0 ] ;
8+ let exp = 1 ;
9+
10+ for ( i = 0 ; i < vector . length ; i ++ ) {
11+ if ( vector [ i ] > bigger )
12+ bigger = vector [ i ] ;
13+ }
14+
15+ while ( parseInt ( bigger / exp ) > 0 ) {
16+ let bucket = new Int32Array ( 10 ) ;
17+
18+ for ( i = 0 ; i < vector . length ; i ++ )
19+ bucket [ parseInt ( parseInt ( ( vector [ i ] / exp ) ) % 10 ) ] ++ ;
20+ for ( i = 1 ; i < 10 ; i ++ )
21+ bucket [ i ] += bucket [ i - 1 ] ;
22+ for ( i = vector . length - 1 ; i >= 0 ; i -- )
23+ b [ -- bucket [ parseInt ( parseInt ( ( vector [ i ] / exp ) ) % 10 ) ] ] = vector [ i ] ;
24+ for ( i = 0 ; i < vector . length ; i ++ )
25+ vector [ i ] = b [ i ] ;
26+
27+ exp *= 10 ;
28+ }
29+ }
30+
31+ function main ( ) {
32+ const MAX_LENGTH = 20 ;
33+ let vector = [ ] ;
34+ let values = "[" ;
35+ for ( let index = 0 ; index < MAX_LENGTH ; index ++ ) {
36+ let value = Math . floor ( Math . random ( ) * 99 ) ; // 0 - 99
37+ vector . push ( value ) ;
38+ values += `${ value } , ` ;
39+ }
40+ values += "]" ;
41+
42+ console . log ( values ) ;
43+
44+ RadixSort ( vector ) ;
45+ values = "[" ;
46+ vector . forEach ( v => values += `${ v } , ` ) ;
47+ values += "]" ;
48+ console . log ( values ) ;
49+ }
50+
51+ main ( ) ;
You can’t perform that action at this time.
0 commit comments