简单排序算法

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

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容