File tree 2 files changed +28
-1
lines changed
2 files changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ _Sorting algorithms implemented in different languages (for hacktoberfest_ 😃_
12
12
| Java | [ ` Bead Sort ` ] ( Java/BeadSort.java ) [ ` Bogo Sort ` ] ( Java/BogoSort.java ) [ ` Bubble Sort ` ] ( Java/BubbleSort.java ) <br > [ ` Counting Sort ` ] ( Java/Counting%20Sort.java ) [ ` Heap Sort ` ] ( Java/HeapSort.java ) [ ` Insertion Sort ` ] ( Java/InsertionSort.java ) <br > [ ` Merge Sort ` ] ( Java/MergeSort.java ) [ ` Quick Sort ` ] ( Java/QuickSort.java ) [ ` Radix Sort ` ] ( Java/RadixSort.java ) <br > [ ` Selection Sort ` ] ( Java/SelectionSort.java ) [ ` Shell Sort ` ] ( Java/ShellSort.java ) [ ` Tim Sort ` ] ( Java/TimSort.java ) <br > [ ` Comb Sort ` ] ( Java/CombSort.java ) [ ` Binary Insertion Sort ` ] ( Java/BinaryInsertionSort.java ) [ ` Gnome Sort ` ] ( Java/GnomeSort.java ) |
13
13
| Javascript | [ ` Bogo Sort ` ] ( Javascript/bogoSort.js ) [ ` Counting Sort ` ] ( Javascript/countingSort.js ) [ ` Heap Sort ` ] ( Javascript/HeapSort.js ) [ ` Insertion Sort ` ] ( Javascript/Insertionsort.js ) [ ` Merge Sort ` ] ( Javascript/MergeSort.js ) <br > [ ` Quick Sort ` ] ( Javascript/Quicksort.js ) [ ` Bubble Sort ` ] ( Javascript/bubbleSort.js ) [ ` Shell Sort ` ] ( Javascript/shellSort.js ) [ ` Selection Sort ` ] ( Javascript/selectionSort.js ) <br > [ ` Radix Sort ` ] ( Javascript/RadixSort.js ) |
14
14
| Python | [ ` Bogo Sort ` ] ( Python/BogoSort.py ) [ ` Bubble Sort ` ] ( Python/BubbleSort.py ) [ ` Bucket Sort ` ] ( Python/BucketSort.py ) <br > [ ` Gnome Sort ` ] ( Python/GnomeSort.py ) [ ` Insertion Sort ` ] ( Python/InsertionSort.py ) [ ` Merge Sort ` ] ( Python/MergeSort.py ) <br > [ ` Quick Sort ` ] ( Python/QuickSort.py ) [ ` Radix Sort ` ] ( Python/RadixSort.py ) [ ` Selection Sort ` ] ( Python/SelectionSort.py ) <br > [ ` Binary Insertion Sort ` ] ( Python/BinaryInsertionSort.py ) [ ` Heap Sort ` ] ( Python/heapSort.py ) |
15
- | Ruby | [ ` Bubble Sort ` ] ( Ruby/bubble_sort.rb ) [ ` Gnome Sort ` ] ( Ruby/gnome_sort.rb ) [ ` Sort ` ] ( Ruby/sort.rb ) [ ` Reverse sort ` ] ( Ruby/reverse.rb )
15
+ | Ruby | [ ` Bubble Sort ` ] ( Ruby/bubble_sort.rb ) [ ` Gnome Sort ` ] ( Ruby/gnome_sort.rb ) [ ` Quick sort ` ] ( Ruby/quick_sort.rb ) [ ` Sort ` ] ( Ruby/sort.rb ) [ ` Reverse sort ` ] ( Ruby/reverse.rb )
16
16
| Kotlin |[ ` Merge Sort ` ] ( Kotlin/MergeSort.kt ) [ ` Bubble Sort ` ] ( Kotlin/BubbleSort.kt ) [ ` Selection Sort ` ] ( Kotlin/selectionSort.kt ) <br > [ ` Heap Sort ` ] ( Kotlin/HeapSort.kt ) [ ` Insertion Sort ` ] ( Kotlin/InsertionSort.kt ) [ ` Quick Sort ` ] ( Kotlin/QuickSort.kt ) [ ` Bogo Sort ` ] ( Kotlin/BogoSort.kt )
17
17
| Elixir | [ ` Selection Sort ` ] ( Elixir/selectionSort.exs )
18
18
Original file line number Diff line number Diff line change
1
+ def quicksort ( arr , left = 0 , right = nil )
2
+ right = arr . length - 1 if right . nil?
3
+
4
+ if left < right
5
+ pivot = right
6
+
7
+ partition_index = partition ( arr , pivot , left , right )
8
+
9
+ quicksort ( arr , left , partition_index - 1 )
10
+ quicksort ( arr , partition_index + 1 , right )
11
+ end
12
+ arr
13
+ end
14
+
15
+ def partition ( arr , pivot , left , right )
16
+ pivot_value = arr [ pivot ]
17
+ index = left
18
+
19
+ ( left ..right ) . each do |i |
20
+ if arr [ i ] < pivot_value
21
+ arr [ i ] , arr [ index ] = arr [ index ] , arr [ i ]
22
+ index += 1
23
+ end
24
+ end
25
+ arr [ right ] , arr [ index ] = arr [ index ] , arr [ right ]
26
+ index
27
+ end
You can’t perform that action at this time.
0 commit comments