zoukankan      html  css  js  c++  java
  • Go-冒泡排序

    排序

    冒泡排序

    思路:前一个和后一个比较,如果前一个大于后一个则互换值,

    第一轮把最大的值放到右边,

    第二轮把第二大的值放到右边第二个,

    一直到最后一轮,没有换值则表明已经排好

    数组:{14, 13, 12}

    第一轮

    先拿14和3比较,大于所以换值,现在数组成了{13,14,12}

    然后14和12比较,大于就换值,现在数组成了{13,12,14}

    第二轮

    13和12比较,大于换值,现在数组成了{12,13,14}

    总结:3个元素需要比较2轮,第一轮比较2次,二轮比较1次

    轮数:len(arr)-1

    每轮次数:len(arr)-1

    func main() {
    	s := []int{14, 13, 12}
    	c := BubbleSort(s)
    	fmt.Println(c)
    }
    
    //BubbleSort 冒泡排序
    func BubbleSort(s []int) []int {
    
    	for i := len(s) - 1; i > 0; i-- {
    		flag := 0
    		for j := 0; j < i; j++ {
    			if s[j] > s[j+1] {
    				k := 0
    				k = s[j+1]
    				s[j+1] = s[j]
    				s[j] = k
    				flag++
    			}
    		}
    		if flag == 0 {
    			break
    		}
    	}
    	return s
    }
    
  • 相关阅读:
    Kafka 高级API 实战
    CDH 5.16.1 离线安装 Spark 2.3
    CDH5.16.1 离线安装 Kafka
    CDH5.16.1新增节点
    mysql搭建主从结构
    Kerberos常见错误
    expect实现脚本的 自动交互
    寒假day27
    寒假day26
    寒假day25
  • 原文地址:https://www.cnblogs.com/JinweiChang/p/14160648.html
Copyright © 2011-2022 走看看