首页 / 算法 / Python实现排序算法
Python实现排序算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python实现排序算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2036字,纯文字阅读大概需要3分钟。
内容图文
![Python实现排序算法](/upload/InfoBanner/zyjiaocheng/768/f32cb3eba85a4cfc97ec30f0d6dd40d9.jpg)
文章目录
1、冒泡排序
代码:
#将输入的数据转换为列表(1,2,3,4 -> [1,2,3,4])
def change_to_list(inlist):
sorted_list = inlist.split(',') #按逗号分割成一个列表
#将列表中的每个元素转换为整型数据
for i in range(len(sorted_list)):
sorted_list[i] = int(sorted_list[i])
return sorted_list
#冒泡排序
def rubble_sort(sorted_list):
for i in range(len(sorted_list) - 1):
for j in range(len(sorted_list) - 1 - i):
if sorted_list[j] > sorted_list[j + 1]:
sorted_list[j], sorted_list[j + 1] = sorted_list[j + 1], sorted_list[j]
return sorted_list
inlist = input('please enter the number your want to sort(eg:1,2,3,4): ')
num_list = change_to_list(inlist) #将接受到的输入数据转化为列表形式
sorted_list = rubble_sort(num_list) #排序实现
print(sorted_list)
2、简单选择排序
代码:
def change_to_list(instr):
'''将输入的字符串转换为一个列表(eg: '1,2,3,4' -> [1,2,3,4])'''
out_list = instr.split(',')
#将列表中的字符元素转换为整型元素
for i in range(len(out_list)):
out_list[i] = int(out_list[i])
return out_list
def selected_sort(inlist):
"""选择排序的实现"""
for i in range(len(inlist)):
minIndex = i
for j in range(i+1, len(inlist)):
if inlist[j] < inlist[i]:
minIndex = j
if minIndex != i:
inlist[i],inlist[j] = inlist[j],inlist[i]
return inlist
inlist = input("please enter the number your want to sort(eg:1,2,3,4): ")
out_list = change_to_list(inlist) #将输入的字符串转化为列表
sorted_list = selected_sort(out_list) #将列表实现排序
print(sorted_list)
3、快速排序
原理参考:https://blog.csdn.net/pythondafahao/article/details/80084385
代码实现:
#方法1:
def quick(lst):
if len(lst) <= 1:
return lst
m = lst[len(lst)//2]
left = [x for x in lst if x<m]
right = [x for x in lst if x>m]
mm = [x for x in lst if x==m]
return quick(left) + mm + quick(right)
#方法2:
def fastSort(lst):
if len(lst) <= 1:
return lst
return fastSort([lt for lt in lst[1:] if lt < lst[0]]) + lst[0:1] + fastSort([rt for rt in lst[1:] if rt >= lst[0]])
if __name__ == '__main__':
lst = [12,4,9,3,14,15,20,1,5,6,42,2,7,8,36,0,2,4,6]
print(fastSort(lst))
内容总结
以上是互联网集市为您收集整理的Python实现排序算法全部内容,希望文章能够帮你解决Python实现排序算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。