51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Go语言学习

GO语言学习 {#go语言学习}

排序算法 {#排序算法}

冒泡排序 {#冒泡排序}

package main

import "fmt"


/\*
\*
冒泡排序
\*/
func main() {
var arr = \[\]int{5, 8, 4, 9, 1, 3, 4, 7}


    for i := len(arr) - 1; i >= 1; i-- {
    	var flag bool = false
    	for j := 0; j < i; j++ {

    		if arr[j] > arr[j+1] {
    			var num int = arr[j+1]
    			arr[j+1] = arr[j]
    			arr[j] = num
    			flag = true
    		}
    	}
    	if !flag {
    		break
    	}
    }

    fmt.Println(arr)



`}
`

选择排序 {#选择排序}

package main

import "fmt"


/\*
选择排序
\*/
func main() {
var arr = \[\]int{5, 8, 4, 9, 1, 3, 4, 7}
_ = arr


    for i := 0; i < len(arr); i++ {
    	var minIndex = i
    	for j := i + 1; j < len(arr); j++ {
    		if arr[j] < arr[minIndex] {
    			minIndex = j
    		}
    	}
    	var tmp = arr[i]
    	arr[i] = arr[minIndex]
    	arr[minIndex] = tmp
    }

    fmt.Println(arr)



`}
`

插入排序 {#插入排序}

package main

import "fmt"


/\*
插入排序
\*/
func main() {
var arr = \[\]int{5, 8, 4, 9, 1, 3, 4, 7}


    for i := 1; i <= len(arr)-1; i++ {
    	var tmp = arr[i]
    	var index = i
    	for j := i - 1; j >= 0; j-- {
    		if tmp < arr[j] {
    			arr[j+1] = arr[j]
    			index = j
    		} else {
    			break
    		}
    		arr[index] = tmp
    	}
    }

    fmt.Println(arr)



`}
`

希尔排序 {#希尔排序}

package main

import "fmt"


/\*
希尔排序
\*/
func main() {
var arr = \[\]int{5, 8, 4, 9, 1, 3, 4, 7}
_ = arr


    for gap := len(arr) / 2; gap > 0; gap = gap / 2 {
    	for i := gap; i < len(arr); i = i + gap {
    		var tmp = arr[i]
    		var index = i
    		for j := i - gap; j >= 0; j = j - gap {
    			if tmp < arr[j] {
    				arr[j+gap] = arr[j]
    				index = j
    			} else {
    				break
    			}
    		}
    		arr[index] = tmp
    	}
    }

    fmt.Println(arr)



`}
`

赞(0)
未经允许不得转载:工具盒子 » Go语言学习