Python四种常见实现排序方法,干活教程分享~

编程入门 行业动态 更新时间:2024-10-26 17:24:46

Python<a href=https://www.elefans.com/category/jswz/34/1769239.html style=四种常见实现排序方法,干活教程分享~"/>

Python四种常见实现排序方法,干活教程分享~

文章目录

  • 1.冒泡排序
  • 2.选择排序
  • 3.快速排序
  • 4.插入排序
      • 关于Python技术储备
        • 一、Python所有方向的学习路线
        • 二、Python基础学习视频
        • 三、精品Python学习书籍
        • 四、Python工具包+项目源码合集
        • ①Python工具包
        • ②Python实战案例
        • ③Python小游戏源码
        • 五、面试资料
        • 六、Python兼职渠道


1.冒泡排序

相邻位置比较大小,将比较大的(或小的)交换位置

def maopao(a):for i in range(0,len(a)):for j in range(0,len(a)-i-1):if a[j]>a[j+1]:temp = a[j+1]a[j+1] = a[j]a[j] = temp#print(a)#print(a)print(a)

2.选择排序

遍历选择一个最小的数与当前循环的第一个数交换

def xuanze(a):for i in range(0,len(a)):k=itemp = a[i]for j in range(i,len(a)):if a[j]<temp:temp = a[j]k = ja[k] = a[i]a[i] = tempprint(a)

3.快速排序

将子段的第一个元素做为中值,先从右向左遍历,如过比中值大high-1,如果比中值小,将这个值放到low那里。

然后从左向右开始遍历,如果左侧的比中值大,将他放到high那里。当low>=high时,将中值的值赋给low

(1.以下为参照公众号中的做法:

a =[7,1,3,2,6,54,4,4,5,8,12,34]
def sort(a,low,high): while low < high:temp = a[low]while low < high and a[high]>=temp:high = high-1a[low]=a[high]while low<high and a[low]<temp:low = low+1a[high]=a[low]           a[low]=tempreturn low
def quicksort(a,low,high):if low<high:middle = sort(a,low,high)quicksort(a,low,middle)quicksort(a,middle+1,high)print(a)
sort(a,0,len(a)-1)
quicksort(a,0,len(a)-1)
print(a)

(2.以下是参照网上的做法:

在做快速排序时一直各种问题,是因为地柜那里没有考虑清楚,一直把low的值赋值为0了,实际上应该是不固定的low值,他每个子循环不定。

a =[7,1,3,2,6,54,4,4,5,8,12,34]
def sort(a,low,high): while low < high:temp = a[low]while low < high and a[high]>=temp:high = high-1while low<high and a[high]<temp:a[low]=a[high]           low =low+1a[high]=a[low]a[low]=tempreturn low
def quicksort(a,low,high):if low<high:middle = sort(a,low,high)quicksort(a,low,middle)quicksort(a,middle+1,high)print(a)
sort(a,0,len(a)-1)
quicksort(a,0,len(a)-1)
print(a)

4.插入排序

从左向右遍历,依次选取数值,从数值的左侧从右向左遍历,选择第一个比他小的数值的右侧插入该数值,其他数值依次向后赋值

#插入排序
a =[7,1,3,2,6,54,4,4,5,8,12,34]
for i in range(0,len(a)-1):temp=a[i+1]j=i+1while j>=0 and temp<a[j-1]:j=j-1     print(j)if j>=-1:k= i+1while k>=j:a[k]=a[k-1]k=k-1print(a)a[j]=temp
print(a)

插入排序方法2,用到了列表的a.insert(1,2)和清楚a[2:3]=[],这样可以少用一个循环

a =[7,1,3,2,6,54,4,4,5,8,12,34]
for i in range(1,len(a)-1):temp=a[i]j=i-1while j>=0 and temp<=a[j]:print(temp)j=j-1if j >=-1:a[i:i+1]=[]a.insert(j+1,temp)print(a)
print(a)

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉CSDN大礼包:《Python入门资料&实战源码&安装工具】免费领取安全链接,放心点击

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python基础学习视频

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!

因篇幅有限,仅展示部分资料

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python工具包+项目源码合集
①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

六、Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。


这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

更多推荐

Python四种常见实现排序方法,干活教程分享~

本文发布于:2023-11-15 11:51:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1599134.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:四种   常见   方法   教程   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!