Go 选择排序
Feb 26, 2022
Go 选择排序
题目
给你一个整数数组 nums,请你将该数组升序排列。
示例 1:
输入:nums = [5,2,3,1]
输出:[1,2,3,5]
示例 2:
输入:nums = [5,1,1,2,0,0]
输出:[0,0,1,1,2,5]
解题
- 默认将第一个数字,当做最小的,然后比对所有元素,找到最小的
- 找到最小的之后,将最小的,放到头部
- 重复查找,重复排序
func sortArray(nums []int) []int {
for index,_ := range nums{
// 假设最小的元素
min:=index
// j 变量这样声明,可以保证已排序的元素,不会再参与
for j:=index+1;j<len(nums);j++{
// 如果当前元素小于全局最小元素,那么当前元素就会被设置为最小元素
// 重复设置最小元素,直到遍历完成,找到最小元素
if nums[j] < nums[min]{
min = j
}
}
// 将找到的最小元素,往前排放
nums[min],nums[index] = nums[index],n ums[min]
}
return nums
}