排序

2019-11-21  本文已影响0人  jojo1313
// 插入排序
   // 循环遍历数组中每一个元素;
   // 取当前元素的前一个元素和当前对比,如比前面小则和前元素交换位置,for死循环重复此过程;
func InsertSort(a []int) []int {
    lenth := len(a)
    for i := 1; i < lenth; i++{
        index := i-1
        number := a[i]
        for index >= 0 && number<a[index] {
            a[index+1], a[index] = a[index], a[index+1]
            index--
        }
    }
    return a
}
// 冒泡排序, 嵌套2个for循环
   //  从第一个元素位置开始循环遍历数组中每一个元素位置;
   //  从第二个元素位置开始遍历数组中每一个元素位置;
   //  在第二个循环中对比遍历时元素位置的值大小,如前一个比后一个大,则交换元素位置
func SelectSort2(nums []int) []int {
    for i:=0;i<len(nums);i++{
        for j:=i+1;j<len(nums);j++{
            if nums[i]>nums[j]{
                nums[j],nums[i] = nums[i],nums[j]
            }
        }
    }
    return nums
}
上一篇 下一篇

猜你喜欢

热点阅读