[fix] code format for merge-sort

master
Furkan Türkal 6 years ago
parent 663087d7d1
commit ac216aae3b
No known key found for this signature in database
GPG Key ID: 3015FE56155820F2

@ -9,7 +9,7 @@ package main
import "fmt" import "fmt"
func Merge(arr []int, l, m, r int){ func Merge(arr []int, l, m, r int) {
var i, j, k int var i, j, k int
var n1 int = m - l + 1 var n1 int = m - l + 1
var n2 int = r - m var n2 int = r - m
@ -20,11 +20,11 @@ func Merge(arr []int, l, m, r int){
//Copy data to temp arrays L[] and R[] //Copy data to temp arrays L[] and R[]
for i = 0; i < n1; i++ { for i = 0; i < n1; i++ {
L[i] = arr[l + i] L[i] = arr[l+i]
} }
for j = 0; j < n2; j++ { for j = 0; j < n2; j++ {
R[j] = arr[m + 1 + j] R[j] = arr[m+1+j]
} }
//Merge the temp arrays back into arr[l..r] //Merge the temp arrays back into arr[l..r]
@ -32,11 +32,11 @@ func Merge(arr []int, l, m, r int){
j = 0 //Initial index of second subarray j = 0 //Initial index of second subarray
k = l //Initial index of merged subarray k = l //Initial index of merged subarray
for(i < n1 && j < n2){ for i < n1 && j < n2 {
if(L[i] <= R[j]){ if L[i] <= R[j] {
arr[k] = L[i] arr[k] = L[i]
i++ i++
}else{ } else {
arr[k] = R[j] arr[k] = R[j]
j++ j++
} }
@ -44,35 +44,35 @@ func Merge(arr []int, l, m, r int){
} }
//Copy the remaining elements of L[], if there are any //Copy the remaining elements of L[], if there are any
for(i < n1){ for i < n1 {
arr[k] = L[i] arr[k] = L[i]
i++ i++
k++ k++
} }
//Copy the remaining elements of R[], if there are any //Copy the remaining elements of R[], if there are any
for(j < n2){ for j < n2 {
arr[k] = R[j] arr[k] = R[j]
j++ j++
k++ k++
} }
} }
func MergeSort(arr []int, l, r int){ func MergeSort(arr []int, l, r int) {
if(l < r){ if l < r {
//Same as (l + r) / 2 but avoids overflow for large l and h //Same as (l + r) / 2 but avoids overflow for large l and h
var m int = l + (r - l) / 2 var m int = l + (r-l)/2
//Sort first and second halves //Sort first and second halves
MergeSort(arr, l, m) MergeSort(arr, l, m)
MergeSort(arr, m + 1, r) MergeSort(arr, m+1, r)
Merge(arr, l, m, r) Merge(arr, l, m, r)
} }
} }
func PrintArray(A []int, size int){ func PrintArray(A []int, size int) {
for i:=0; i < size; i++ { for i := 0; i < size; i++ {
fmt.Printf("%d ", A[i]) fmt.Printf("%d ", A[i])
} }
fmt.Printf("\n") fmt.Printf("\n")
@ -85,8 +85,8 @@ func main() {
fmt.Println("Given array size is: ") fmt.Println("Given array size is: ")
PrintArray(arr, arr_size) PrintArray(arr, arr_size)
MergeSort(arr, 0, arr_size - 1) MergeSort(arr, 0, arr_size-1)
fmt.Println("Sorted array is: ") fmt.Println("Sorted array is: ")
PrintArray(arr, arr_size) PrintArray(arr, arr_size)
} }

Loading…
Cancel
Save