Python实现日常排序Demo

冒泡排序

import randomlists = random.sample(range(0, 100), 10)print("冒泡排序".center(20, "-"))
def Bubble_Sort(lists=lists):# 冒泡排序count = len(lists)for i in range(0, count):for j in range(i + 1, count):if lists[i] > lists[j]:lists[i], lists[j] = lists[j], lists[i]print(lists)
Bubble_Sort()

插入排序

print("插入排序".center(20, "-"))
def Insertion_sort(lists=lists):# 插入排序count = len(lists)for i in range(1, count):key = lists[i]j = i - 1while j >= 0:if lists[j] > key:lists[j + 1] = lists[j]lists[j] = keyj -= 1print(lists)
Insertion_sort()

选择排序

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333
'''
print("选择排序".center(20, "-"))
def Select_sort(lists=lists):# 选择排序count = len(lists)for i in range(0, count):min = ifor j in range(i + 1, count):if lists[min] > lists[j]:min = jlists[min], lists[i] = lists[i], lists[min]print(lists)
Select_sort()

快速排序

print("快速排序".center(20, "-"))
def Quick_sort(lists=lists, left=0, right=len(lists) - 1):# 快速排序if left >= right:return listskey = lists[left]low = lefthigh = rightwhile left < right:while left < right and lists[right] >= key:right -= 1lists[left] = lists[right]while left < right and lists[left] <= key:left += 1lists[right] = lists[left]lists[right] = keyQuick_sort(lists, low, left - 1)Quick_sort(lists, left + 1, high)return lists
print(Quick_sort())

快速排序 | lambda

print("快速排序 | lambda".center(20, "-"))
quick_sort = lambda lists : ( (len(lists) <= 1 and [lists]) or [ quick_sort( [x for x in lists[1:] if x < lists[0]] ) + [lists[0]] + quick_sort( [x for x in lists[1:] if x >= lists[0]] ) ] )[0]
print(quick_sort(lists))

希尔排序

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333
'''
print("希尔排序".center(20, "-"))
def Shell_sort(lists=lists):step = len(lists) // 2while step > 0:for i in range(step, len(lists)):while(i >= step and lists[i] < lists[i-step]):lists[i],lists[i-step] = lists[i-step],lists[i]i -= stepstep //= 2print(lists)
Shell_sort()

计数排序

print("计数排序".center(20, "-"))
def Count_sort(lists=lists):n = len(lists)restful= [None] * nfor i in range(n):p = 0for j in range(n):if lists[i] > lists[j]:p += 1restful[p] = lists[i]print(restful)
Count_sort()

桶排序

'''
Python学习交流,免费公开课,免费资料,
免费答疑,系统学习加QQ群:579817333
'''
print("桶排序".center(20, "-"))
def Bucket_sort(lists=lists, restful=[]):# 桶排序buckets = [0] * ((max(lists) - min(lists)) + 1)for i in range(len(lists)):buckets[lists[i] - min(lists)] += 1for i in range(len(buckets)):if buckets[i] != 0:restful += [i + min(lists)] * buckets[i]print(restful)
Bucket_sort()

基数排序

print("基数排序".center(20, "-"))
def Radix_sort(lists=lists):step = len(lists) // 3for k in range(step):radix = [[] for v in range(10)]for v in lists:radix[v // (10**k) % 10].append(v)lists=[j for v in radix for j in v]print(lists)
Radix_sort()

Python 常用排序Demo|冒、插、快、希等入门算法相关推荐

  1. python常用排序_python中的各种排序

    #encoding=utf-8 import random from copy import copy def directInsertSort(seq): """ 直接 ...

  2. Python实现: 常用排序算法 二叉树的遍历算法

    转载自:http://www.cnblogs.com/alex3714/articles/5474411.html点击打开链接,感谢原作者,如有侵权,联系删除 本节内容 算法定义 时间复杂度 空间复杂 ...

  3. python 只取数值_快收藏!Python常用操作运算符,都在这了!(下)

    泰迪学院-Python基础 公众号ID:taidixueyuan 还未阅读第一篇的小可爱,在这里可以直接跳转 快收藏!Python常用操作运算符,都在这了!(上) 5. 逻辑运算符 逻辑运算符包含an ...

  4. python常用算法有哪些_python常见的排序算法有哪些?

    大家都知道,关于python的算法有很多,其中最为复杂的就是python的排序算法,因为它并不是单一的,而是复杂的,关于排序算法就有好几种不同的方式,大家可以根据以下内容,结合自己的项目需求,选择一个 ...

  5. 常用排序算法-java实现(插入,快排)

    1.插入排序算法 /** Simple insertion sort.* @param a an array of Comparable items.*/public static void inse ...

  6. python常用代码_Python常用算法学习(3)(原理+代码)——最全总结

    1,什么是算法的时间和空间复杂度 算法(Algorithm)是指用来操作数据,解决程序问题的一组方法,对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但是在过程中消耗的资源和时间却会有很大 ...

  7. python常用扩展模块资源(大全)

    本文由 大侠(AhcaoZhu)整理并转载,转载请请引用原出处. 链接: https://blog.csdn.net/Ahcao2008 python常用扩展模块资源(大全) Python 资源大全中 ...

  8. python常用内置函数总结-Python 常用内置函数

    Python 常用内置函数如下: 1. abs()函数返回数字的绝对值. print( abs(-45) )# 返回45print("abs(0.2):",abs(0.2))#返回 ...

  9. 对于python来说、一个模块就是一个文件-python常用模块

    python常用模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用pyt ...

最新文章

  1. usb linux 内核,Linux下USB内核之学习笔记
  2. Semi-sync master failed on net_flush() before wait
  3. Android禁用软键盘和取消禁用软键盘
  4. 渲染树构建、布局及绘制
  5. python counter模块_python collections模块 计数器(counter)
  6. 2018年12月计算机一级试题答案,2018年12月计算机一级MSOffice冲刺题及答案(7)
  7. 正则表达式 去除连续空白 + 获取url +分割url + 获取图片
  8. linux下面java配置,linux下面配置java环境变量
  9. 信号报告(Java)
  10. 功夫小子实践开发-资源异步加载及过渡场景的分析和实现
  11. SQL-26 (二次分组)汇总各个部门当前员工的title类型的分配数目,结果给出部门编号dept_no、dept_name、其当前员工所有的title以及该类型title对应的数目count...
  12. (2022.5.27)【Win10】Windows10重置后微软商店闪退打不开、图片闪退打不开、UWP应用闪退打不开——可能的解决方案
  13. CTF-隐写术(三)
  14. python数据清洗工具、方法、过程整理归纳(六、数据清洗之数据预处理(一)——重复值处理、缺失值处理)
  15. python解析FreeMind思维导图
  16. 计算机网络复习-第六章应用层
  17. ajax localhsot,ajax请求nodejs后台,开启服务器后,localhost:3000/index.html页面既没有报错,也没有文字。。。...
  18. 使用kail中Metasploit获取Windows的权限并提权
  19. 疫情当下,选择代理加盟互联网广告项目的优势
  20. bp 神经网络 优点 不足_【学术论文】基于灰度共生矩阵和BP神经网络的乳腺肿瘤识别...

热门文章

  1. 轨迹系列8——记某真实项目中轨迹展示查询效率优化方案一(初步设计)
  2. 【分布计算环境学习笔记】9 Web Service
  3. 数据库-ADONET-在数据集DataSet中使用关系对象DataRelation处理关系
  4. httpsendrequest的head怎么用string写_商品广告语用怎么写?男人篇
  5. 【增强】批次特性增强案例
  6. ABAP中查找代码的标准程序
  7. SE43自定义sap菜单
  8. ABAP 7.4 新语法-内嵌生命和内表操作
  9. MRP区域“MRP Area”的定义以及作用
  10. 交易性金融资产的账务处理