zoukankan      html  css  js  c++  java
  • 排序算法——冒泡排序

    1、算法介绍

    (1)比较相邻的两个元素,前面元素比后面元素大,则交换两个元素;两个元素相等不交换(稳定);

    (2)一趟比较后得到最大元素,对前面未排好序的序列重复步骤(1)

    (3)循环排序结束或排序过程中无交换则排序完成

    2、代码实现

    2.1、golang

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	slice := []int{5, 3, 12, 54, 23, 12, 6, 9, 19}
    	SortBubble(slice)
    	fmt.Println(slice)
    }
    
    //冒泡排序
    func SortBubble(slice []int) {
    	n := len(slice)
    	isEnd := true //无交换,排序结束
    	for i := 0; i < n-1; i++ {
    		isEnd = true
    		for j := 0; j < n-i-1; j++ {
    			if slice[j] > slice[j+1] {
    				slice[j], slice[j+1] = slice[j+1], slice[j]
    				isEnd = false
    			}
    		}
    		if isEnd {
    			break
    		}
    	}
    }
    

    2.2、python3

    # 冒泡排序
    def sort_bubble(arr):
        n = len(arr)
        isEnd = True
        for i in range(n-1):
            isEnd = True
            for j in range(n-i-1):
                if arr[j] > arr[j+1]:
                    arr[j], arr[j+1] = arr[j+1], arr[j]
                    isEnd = False
            if isEnd:
                break
    
    
    if __name__ == '__main__':
        arr = [5, 3, 12, 54, 23, 12, 6, 9, 19]
        sort_bubble(arr)
        print(arr)
    

      

    笃志:“博学而笃志,切问而近思,仁在其中矣。”
    弘毅:“士不可以不弘毅,任重而道远。”
    止于至善:“大学之道,在明明德,在亲民,在止于至善。”
    关注:笃志弘毅,止于至善
  • 相关阅读:
    vue-element-admin 权限的添加
    vue 图标通过组件的方式引用步骤
    linux系统环境下配置vue项目运行环境
    5.5 卷积神经网络(LeNet)
    5.4 池化层
    5.3 多输入通道和多输出通道
    5.2 填充和步幅
    html && CSS
    P2827 [NOIP2016 提高组] 蚯蚓
    5.1 二维卷积层
  • 原文地址:https://www.cnblogs.com/dzhy/p/10938296.html
Copyright © 2011-2022 走看看