golang_算法: 选择排序算法

版权声明:版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/weixin_43851310/article/details/87863427

选择排序算法

1.分析问题:
拿第n个数字和n+1及后面所有的数依次比较,小的移动到前面

2.设计算法:

1)第一次排序,下标为0的数字和1及后面所有的数依次比较,小的交换到前面
2)第二次排序,下标为1的数字和2及后面所有的数依次比较,小的交换到前面
...
3)第n次排序,下标为n的数字和n+1及后面所有的数依次比较,小的交换到前面

3.编写程序

func main() {
	
	arr:=[]int{1,-2,3,-4}

	for n := 0; n<len(arr)-1 ; n++ {
		for i := n+1; i < len(arr) ; i++ {
			if arr[n] > arr[i]{
				arr[n], arr[i] = arr[i],arr[n]
			}
		}
	}
	fmt.Println(arr)
}

4.调试程序

[-4 -2 1 3]

猜你喜欢

转载自blog.csdn.net/weixin_43851310/article/details/87863427