Golang 冒泡排序 优化版

package main

import "fmt"

func maopao(str []int)  {

	lastexchange := 0
	sortBorken := len(str) - 1
	for i:=0;i<len(str);i++ {
		broken:=true
		for j:=1;j<sortBorken;j++{
			if str[j]<str[j-1] {
				str[j],str[j-1] = str[j-1],str[j]
				broken = false
				lastexchange = j
			}
		}
		sortBorken = lastexchange
		if broken {
			break
		}
	}
	fmt.Println(str)
}

func main() {

	a := make([]int,10)
	a = []int{3,4,2,1,5,6,7,8}
	maopao(a)
}

猜你喜欢

转载自blog.csdn.net/zhangyexinaisurui/article/details/81210631