gnome sort and cocktail sort added
parent
175b499c1f
commit
2d09ed93b8
@ -0,0 +1,43 @@
|
||||
package main
|
||||
|
||||
/*
|
||||
* Cocktail sort - https://en.wikipedia.org/wiki/Cocktail_sort
|
||||
*/
|
||||
|
||||
import "fmt"
|
||||
|
||||
import "github.com/0xAX/go-alghoritms"
|
||||
|
||||
func main() {
|
||||
arr := utils.RandArray(10)
|
||||
fmt.Println("Initial array is:", arr)
|
||||
fmt.Println("")
|
||||
|
||||
tmp := 0
|
||||
|
||||
for i := 0; i < len(arr) / 2; i++ {
|
||||
left := 0
|
||||
right := len(arr) - 1
|
||||
|
||||
for ; left <= right ; {
|
||||
|
||||
if arr[left] > arr[left + 1] {
|
||||
tmp = arr[left]
|
||||
arr[left] = arr[left + 1]
|
||||
arr[left + 1] = tmp
|
||||
}
|
||||
|
||||
left++
|
||||
|
||||
if arr[right - 1] > arr[right] {
|
||||
tmp = arr[right - 1]
|
||||
arr[right - 1] = arr[right]
|
||||
arr[right] = tmp
|
||||
}
|
||||
|
||||
right--
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println("Sorted array is: ", arr)
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package main
|
||||
|
||||
/*
|
||||
* Gnome sort - https://en.wikipedia.org/wiki/Gnome_sort
|
||||
*/
|
||||
|
||||
import "fmt"
|
||||
|
||||
import "github.com/0xAX/go-alghoritms"
|
||||
|
||||
func main() {
|
||||
arr := utils.RandArray(10)
|
||||
fmt.Println("Initial array is:", arr)
|
||||
fmt.Println("")
|
||||
|
||||
i := 1
|
||||
tmp := 0
|
||||
for ; i < len(arr) ; {
|
||||
if arr[i] >= arr[i - 1] {
|
||||
i++
|
||||
} else {
|
||||
tmp = arr[i]
|
||||
arr[i] = arr[i - 1]
|
||||
arr[i - 1] = tmp
|
||||
|
||||
if i > 1 {
|
||||
i--
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println("Sorted array is: ", arr)
|
||||
}
|
||||
|
Loading…
Reference in New Issue