[fix] code format for quick-sort

master
Furkan Türkal 6 years ago
parent 72a1a811d8
commit 67909efa60
No known key found for this signature in database
GPG Key ID: 3015FE56155820F2

@ -9,51 +9,50 @@ package main
import "fmt" import "fmt"
func Swap(a *int, b *int) {
func Swap(a *int, b *int){
t := *a t := *a
*a = *b *a = *b
*b = t *b = t
} }
func Partition(arr []int, start, end int) int { func Partition(arr []int, start, end int) int {
pivot := arr[end] pivot := arr[end]
//Index of smaller element //Index of smaller element
var i int = (start - 1) var i int = (start - 1)
for j := start; j <= end - 1; j++ { for j := start; j <= end-1; j++ {
//If current element is smaller than or equal to pivot //If current element is smaller than or equal to pivot
if(arr[j] <= pivot){ if arr[j] <= pivot {
i++ i++
Swap(&arr[i], &arr[j]) Swap(&arr[i], &arr[j])
} }
} }
Swap(&arr[i + 1], &arr[end]) Swap(&arr[i+1], &arr[end])
return (i + 1) return (i + 1)
} }
/*The main function that implements QuickSort /*The main function that implements QuickSort
arr[] -> Array to be sorted arr[] -> Array to be sorted
start -> Starting index start -> Starting index
end -> Ending index end -> Ending index
*/ */
func QuickSort(arr []int, start, end int) { func QuickSort(arr []int, start, end int) {
if(start < end){ if start < end {
//pi is partitioning index, arr[p] is now at right place //pi is partitioning index, arr[p] is now at right place
var pi int = Partition(arr, start, end) var pi int = Partition(arr, start, end)
//Separately sort elements before partition and after partition //Separately sort elements before partition and after partition
QuickSort(arr, start, pi - 1) QuickSort(arr, start, pi-1)
QuickSort(arr, pi + 1, end) QuickSort(arr, pi+1, end)
} }
} }
func PrintArray(arr []int, size int){ func PrintArray(arr []int, size int) {
for i:=0; i < size; i++ { for i := 0; i < size; i++ {
fmt.Printf("%d ", arr[i]) fmt.Printf("%d ", arr[i])
} }
fmt.Printf("\n") fmt.Printf("\n")
@ -63,8 +62,8 @@ func main() {
arr := []int{10, 7, 8, 9, 1, 5} arr := []int{10, 7, 8, 9, 1, 5}
var n int = len(arr) var n int = len(arr)
QuickSort(arr, 0, n - 1) QuickSort(arr, 0, n-1)
fmt.Println("Sorted array is: ") fmt.Println("Sorted array is: ")
PrintArray(arr, n) PrintArray(arr, n)
} }

Loading…
Cancel
Save