当前位置: 首页 > article >正文

排序算法思维导图

 

 

 

 冒泡排序

def bubble_sort(alist):
    j = 0
    while j < len(alist):
        i = 0
        while i < len(alist) - 1:
            if alist[i] > alist[i+1]:
                alist[i], alist[i+1] = alist[i+1], alist[i]
            i += 1
        j += 1

li = [34,556,235,7,56,45,63,35,23,4,875]
bubble_sort(li)
print(li)

 选择排序

def select_sort(alist):
    i = 0
    while i < len(alist) - 1:
        min_idex = i
        j = i+1
        while j < len(alist):
            if alist[min_idex] > alist[j]:
                min_idex = j
            j += 1
        if min_idex != i:
            alist[i], alist[min_idex] = alist[min_idex],alist[i]
        i += 1

li = [34,556,235,7,56,45,63,35,23,4,875]
select_sort(li)
print(li)

 直接插入排序

def insert_sort(alist):
    i = 1
    while i < len(alist):
        temp = alist[i]
        j = i
        while temp < alist[j-1] and j>0:
            alist[j] = alist[j-1]
            j -= 1
        alist[j] = temp
        i += 1

li = [34,556,235,7,56,45,63,35,23,4,875]
insert_sort(li)
print(li)

 快速排序

def part(alist,left,right):
    p = alist[left]
    while left < right:
        while alist[right] >= p and left < right:
            right -= 1
        alist[left] = alist[right]

        while alist[left] <= p and left < right:
            left += 1
        alist[right] = alist[left]

    alist[left] = p
    return left

def quick_sort(alist,left,right):
    if left < right:
        p_idex = part(alist,left,right)

        quick_sort(alist,left,p_idex-1)

        quick_sort(alist,p_idex+1,right)

li = [324,5346,74,523,857,6,2345,457,789]
quick_sort(li,0,len(li)-1)
print(li)


http://www.kler.cn/a/417126.html

相关文章:

  • DeepSeek-r1和O1、O3mini谁更强?
  • 大数据项目2a:基于spark的电影推荐和分析系统设计与实现
  • 面试真题 | Momenta c++
  • [LeetCode]day17 349.两个数组的交集
  • 使用deepseek快速创作ppt
  • mysql 不是内部或外部命令,也不是可运行的程序或批处理文件
  • Ubuntu源码安装gitlab13.7集群多前端《二》
  • MATLAB期末复习笔记(二)
  • Zero to JupyterHub with Kubernetes上篇 - Kubernetes 离线二进制部署
  • 【Git系列】利用 Bash 脚本获取 Git 最后一次非合并提交的提交人
  • CSS笔记(四)卡片翻转
  • 【优选算法篇】两队接力跑:双指针协作解题的艺术(下篇)
  • elementUI el-image的使用
  • 深度学习基础2
  • Windchill查找某一个id关联的数据库表
  • #JAVA-常用API-爬虫
  • ACM输入输出模板(下)【Java、C++版】
  • 【论文笔记】Towards Online Continuous Sign Language Recognition and Translation
  • 【JAVA进阶篇教学】第二十篇:如何高效处理List集合数据及明细数据
  • 刷LeetCode hot100--1.哈希表
  • 【系统架构设计师】高分论文:论信息系统的安全与保密设计
  • 智能化图书馆导航系统方案之系统架构与核心功能设计
  • 总结贴:Servlet过滤器、MVC拦截器
  • 安装MySQL 5.7 亲测有效
  • Android开发仿qq详情下拉头像变大
  • 力扣215:数组中第K大的元素