Golang——排序算法

时间:2021-04-02 21:58:41   收藏:0   阅读:39
package main

import "fmt"

func xpx(a []int){
	for i := 0;i<len(a);i++{
		min := a[i]
		for j := i+1;j<len(a);j++{
		if a[j] < min{
		    a[i],a[j] = a[j],a[i]
		}
		}
	}
}

func tpx(a []int){
	max_a := a[0]
	for _,v := range a{
		if v > max_a{
		max_a = v
		}
	}
	a_l := make([]int,max_a + 1)
	for _,v := range a{
		a_l[v] += 1
	}
	
	for k := 0 ;k<len(a);{
	for i:=0;i<len(a_l);i++{
		if a_l[i] != 0{
			for j:=0;j<a_l[i];j++{
				a[k] = i
				k ++
			}
		}
	}
	}
	fmt.Printf("%p\n",a)
}

func ppx(a []int){
	for i:=0;i<len(a)-1;i++{
		for j:=0;j<len(a)-i-1;j++{
			if a[j] < a[j+1]{
			    a[j],a[j+1] = a[j+1],a[j]
			}
		}
	}
    }

func main () {
	a := []int{1,2,2,5,3,62,42,556,23}
// 	xpx(a)
// 	fmt.Println(a)
// 	fmt.Printf("%p\n",a)
// 	tpx(a)
// 	fmt.Println(a)
// 	fmt.Printf("%p\n",a)
	ppx(a)
	fmt.Println(a)
}

原文:https://www.cnblogs.com/pythonwl/p/14612005.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!