package main
import "fmt"
//冒泡排序循环一次输出最大值
func BubblesortMax(arr []int) int{
length := len(arr)
if length <= 1{
return arr[0]
}
for i:=0;i<length-1;i++{
if arr[i] > arr[i+1]{
arr[i],arr[i+1] = arr[i+1],arr[i]
}
}
fmt.Println(arr)
return arr[length-1]
}
//冒泡排序
//从左往右循环依次将最大值存入最右方
func BubbleSortMax1(arr []int) []int{
length := len(arr)
if length <= 1{
return arr
}
for i:=0;i<length-1;i++{
for j:=0;j<length-1-i;j++{
if arr[j]>arr[j+1]{
arr[j],arr[j+1]=arr[j+1],arr[j]
}
}
}
fmt.Println(arr)
return arr
}
//从左往右循环依次将最小值存入最右方
func BubbleSortMax2(arr []int) []int{
length := len(arr)
if length <= 1{
return arr
}
for i:=0;i<length-1;i++{
fmt.Println("before:",arr)
for j:=0;j<length-1-i;j++{
if arr[j]<arr[j+1]{
arr[j],arr[j+1]=arr[j+1],arr[j]
}
}
fmt.Println("after:",arr)
}
return arr
}
//从右往左循环依次将最大值存入最左方
func BubbleSortMax3(arr []int) []int{
length := len(arr)
if length <= 1{
return arr
}
for i:=length;i>=0;i--{
fmt.Println("before:",arr)
for j:=length-1;j>=length-i+1;j--{
if arr[j]>arr[j-1]{
arr[j],arr[j-1]=arr[j-1],arr[j]
}
}
fmt.Println("after:",arr)
}
fmt.Println(arr)
return arr
}
//从右往左循环依次将最小值存入最左方
func BubbleSortMax4(arr []int) []int{
length := len(arr)
if length <= 1{
return arr
}
for i:=length;i>=0;i--{
fmt.Println("before:",arr)
for j:=length-1;j>=length-i+1;j--{
if arr[j]<arr[j-1]{
arr[j],arr[j-1]=arr[j-1],arr[j]
}
}
fmt.Println("after:",arr)
}
fmt.Println(arr)
return arr
}
func main(){
arr := []int{232,1,19,11,29, 30, 2, 5, 45, 8, 234, 12, 63}
//fmt.Println(BubblesortMax(arr))
fmt.Println(BubbleSortMax4(arr))
}
网友评论