import random
from timewrap import *@cal_time
def bubble_sort(li):for i in range(len(li) - 1):# i 表示趟数# 第 i 趟时: 无序区:(0,len(li) - i)for j in range(0, len(li) - i - 1):if li[j] > li[j+1]:li[j], li[j+1] = li[j+1], li[j]@cal_time
def bubble_sort_2(li):for i in range(len(li) - 1):# i 表示趟数# 第 i 趟时: 无序区:(0,len(li) - i)change = Falsefor j in range(0, len(li) - i - 1):if li[j] > li[j+1]:li[j], li[j+1] = li[j+1], li[j]change = Trueif not change:returnli = list(range(10000))
# random.shuffle(li)
# print(li)
bubble_sort_2(li)
print(li)

冒泡

import random
from timewrap import *@cal_time
def select_sort(li):for i in range(len(li) - 1):# i 表示趟数,也表示无序区开始的位置min_loc = i   # 最小数的位置for j in range(i + 1, len(li) - 1):if li[j] < li[min_loc]:min_loc = jli[i], li[min_loc] = li[min_loc], li[i]li = list(range(10000))
random.shuffle(li)
print(li)
select_sort(li)
print(li)

选择

import random
from timewrap import *@cal_time
def insert_sort(li):for i in range(1, len(li)):# i 表示无序区第一个数tmp = li[i] # 摸到的牌j = i - 1 # j 指向有序区最后位置while li[j] > tmp and j >= 0:#循环终止条件: 1. li[j] <= tmp; 2. j == -1li[j+1] = li[j]j -= 1li[j+1] = tmpli = list(range(10000))
random.shuffle(li)
print(li)
insert_sort(li)
print(li)

插入

转载于:https://www.cnblogs.com/fenglin0826/p/8447261.html

算法1-排序LowB三人组相关推荐

  1. 排序算法lowb三人组-插入排序

    排序算法lowb三人组-插入排序 def insert_sort(li):for i in range(1, len(li)): # i表示摸到的牌的下标tmp = li[i] # 摸到的牌j = i ...

  2. 排序算法之low B三人组

    排序算法之low B三人组 排序low B三人组 列表排序:将无序列表变成有充列表 应用场景:各种榜单,各种表格,给二分法排序使用,给其他算法使用 输入无序列表,输出有序列表(升序或降序) 排序low ...

  3. 算法-lowb三人组

    ---恢复内容开始--- d定义: pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. 安装方法: pip install pandas import pan ...

  4. 数据结构和算法详解(三)——递归、排序、散列表

    一.递归 一.什么是递归? 1.递归是一种非常高效.简洁的编码技巧,一种应用非常广泛的算法,比如DFS深度优先搜索.前中后序二叉树遍历等都是使用递归. 2.方法或函数调用自身的方式称为递归调用,调用称 ...

  5. 三种线性排序算法 计数排序、桶排序与基数排序-BYVoid

    转自:BYVoid [非基于比较的排序] 在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销.排序算法有非常多种,如我们最常用的快速排序和堆 ...

  6. 三种线性排序算法 计数排序、桶排序与基数排序—— 转自:BYVoid

    三种线性排序算法 计数排序.桶排序与基数排序 [非基于比较的排序] 在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销.排序算法有非常多种, ...

  7. 数据结构与算法之美笔记(三)排序

    排序 如何分析一个"排序算法"? 排序算法的执行效率 1.1 最好情况.最坏情况.平均情况时间复杂度 1.2 时间复杂度的系数.常数 .低阶 1.3 比较次数和交换(或移动)次数 ...

  8. 数据结构排序算法实验报告_[数据结构与算法系列]排序算法(二)

    我的上一篇文章向大家介绍了排序算法中的冒泡排序.插入排序和选择排序.它们都是平均时间复杂度为 O(n^2) 的排序算法,同时还为大家讲解了什么是原地排序和什么是排序的稳定性.下图是这三种算法的比较,不 ...

  9. Java入门算法(排序篇)丨蓄力计划

    本专栏已参加蓄力计划,感谢读者支持 往期文章 一. Java入门算法(贪心篇)丨蓄力计划 二. Java入门算法(暴力篇)丨蓄力计划 三. Java入门算法(排序篇)丨蓄力计划 四. Java入门算法 ...

最新文章

  1. Linux全攻略--MySQL数据库配置与管理
  2. java合集框架第一天
  3. windows环境下新建.txt文件,使其默认以UTF-8编码
  4. zwpython_零起点Python大数据与量化交易
  5. php redis.h,swoole安装hredis支持导致php不能加载swoole扩展
  6. PowerBI 报表服务器刷新失败自动重刷并邮件通知
  7. 剑指Offer的学习笔记(C#篇)-- 二叉树的下一个节点(好理解版本)
  8. hping3安装及使用
  9. javascript 常用插件库
  10. PDF编辑器怎么用,如何旋转PDF页面
  11. 中国交通标志检测数据集
  12. Camera Tuning-高通平台总结
  13. 浅谈根号分治——暴力的美学
  14. 软件 | 快速计算网络自然连通度评估群落稳定性
  15. Keil5.15使用GCC编译器编译STM32工程
  16. java实现身份证号校验
  17. 基因功能预测工具-HMMER的安装
  18. 查询国际学术会议的信息
  19. 量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲
  20. 【SSD】自动化测试框架

热门文章

  1. eclipse下的spring环境配置
  2. 计数排序,基数排序,桶排序
  3. Windows Azure Camp---漫步云端,创意无限
  4. Kubernetes1.13.1部署Kuberneted-dashboard v1.10.1
  5. Redis的高级特性哨兵
  6. 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式
  7. 【mysql】二级索引----聚簇索引和非聚簇索引-----
  8. 苹果宣布创立欧洲首个iOS开发中心
  9. linux更换主板后无法启动网卡
  10. 两道相似题——water-easyJavabeans