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]
解题
- 肯定是要两个 for 循环的
- 子循环内,每次比较两个元素,将大的一方,放到后面
- 如此一来,子循环每次执行,都可以产生出一个最小的值,排在最前面
- 负循环的 index ,其实是表示了,每次父循环完成后,子循环的循环次数就要 -1 ,因为每次都会有一个最小的,拍到最前面,所以就 -1
- 位置互换,其实很简单,主要是看怎么用 for 循环的
func sortArray(nums []int) []int {
for index,_ := range nums{
for j:=len(nums)-1;j>index;j--{
if(nums[j-1] > nums[j]){
nums[j-1],nums[j] = nums[j],nums[j-1]
}
}
}
return nums
}
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]
解题
- 肯定是要两个 for 循环的
- 子循环内,每次比较两个元素,将大的一方,放到后面
- 如此一来,子循环每次执行,都可以产生出一个最小的值,排在最前面
- 负循环的 index ,其实是表示了,每次父循环完成后,子循环的循环次数就要 -1 ,因为每次都会有一个最小的,拍到最前面,所以就 -1
- 位置互换,其实很简单,主要是看怎么用 for 循环的
func sortArray(nums []int) []int {
for index,_ := range nums{
for j:=len(nums)-1;j>index;j--{
if(nums[j-1] > nums[j]){
nums[j-1],nums[j] = nums[j],nums[j-1]
}
}
}
return nums
}