简单排序算法

package main

import ("fmt")

import (

"math/rand"

"time"

)

var array = [100]int{}

var k int

func main() {

time_at := rand.NewSource(time.Now().Unix())   //使用时间戳做随机种子

rand := rand.New( time_at )

for k = 0; k < 100; k++ {

array[k] = rand.Intn(100)

}

fmt.Println(array)

fmt.Println(c(array))

}

//插入排序

func c(array [100]int) [100]int {

var i int

var j int

var tmp int

var len = len(array)

for i = 1; i < len; i++ {

for j = i; j >= 0; j-- {

if j == 0 {

break

}

if array[j] < array[j-1] {

tmp = array[j]

array[j] = array[j-1]

array[j-1] = tmp

} else {

break

}

}

}

return array

}

//选择排序

func b(array [100]int) [100]int {

var i int

var j int

var tmp int

var len = len(array) - 1

var mnx_key int

for i = 0; i < len; i++ {

mnx_key = i

for j = i; j < len; j++ {

if array[j] < array[mnx_key] {

mnx_key = j

}

}

tmp = array[mnx_key]

array[mnx_key] = array[i]

array[i] = tmp

}

return array

}

//冒泡排序

func a(arr [100]int) [100]int {

var i int

var j int

var tmp int

var length = len(arr) - 1

for i = 0; i < length; i++ {

for j = 0; j < length-i; j++ {

if arr[j] > arr[j+1] {

tmp = arr[j+1]

arr[j+1] = arr[j]

arr[j] = tmp

}

}

}

return arr

}

你可能感兴趣的:(简单排序算法)