Go 指针和非指针方式实现冒泡排序算法

Go 指针和非指针方式实现冒泡排序算法

本文将用指针和非指针方式实现go的冒泡排序算法

指针实现
package main
import (
	"fmt"
)
func  bubbleSort(arr *[]int){
	length := len(*arr)
	for i :=0 ; i < length;i++{
		for  j := i+1 ; j< length; j++{
			if  (*arr)[j] < (*arr)[i] {
				(*arr)[j] ,(*arr)[i]= (*arr)[i],(*arr)[j]
			}
		}
	}
}
func main()  {
	items := []int{12,3,4,64,2,11,321,32,14,51,11,23,41,2,5,1,6,7,8,3,2,53,52,5235,3525,5235,23,5}
	fmt.Println("排序前",items)
	bubbleSort(&items)
	fmt.Println("排序后",items)
}
非指针方式实现
package main
import (
	"fmt"
)
func  bubbleSort(arr []int) []int{
	length := len(arr)
	items := make([]int,length)
	copy(items,arr)
	for i :=0 ; i < length;i++{
		for  j := i+1 ; j< length; j++{
			if  items[j] < items[i] {
				items[j] ,items[i]= items[i],items[j]
			}
		}
	}
	return items
}
func main()  {
	items := []int{12,3,4,64,2,11,321,32,14,51,11,23,41,2,5,1,6,7,8,3,2,53,52,5235,3525,5235,23,5}
	sortitems := bubbleSort(items)
	fmt.Println("排序前",items)
	fmt.Println("排序后",sortitems)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值