Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
本文实例讲述了Python实现的插入排序,冒泡排序,快速排序,选择排序算法。分享给大家供大家参考,具体如下:
#!/usr/bin/python #coding:utf-8 #直接插入排序 definsert_sort(list): foriinrange(len(list)): Key=list[i]#待插入元素 j=i-1 while(Key=0): list[j+1]=list[j]#后移元素 list[j]=Key j=j-1 returnlist #冒泡排序 defbubble_sort(list): foriinrange(1,len(list)): forjinrange(len(list)-i): iflist[j]>list[j+1]: list[j+1],list[j]=list[j],list[j+1] returnlist #快速排序 defposition_key(list,low,high): i=low j=high key=list[low] while(i
=key):#从右向左,寻找第一个小于基准元素的数据索引。注意:i list[j]: list[i],list[j]=list[j],list[i] returnlist list=[23,232,11,89,121,64,34,12,23423,2312,167,768,932,346,32789,335,2,1145,34,56,99,111] print'原始序列:',list print'直接插入排序:',insert_sort(list) print'冒泡排序:',bubble_sort(list) print'快速排序:',quick_sort(list,0,len(list)-1) print'选择排序:',select_sort(list)
结果如下:
原始序列 :[23,232,11,89,121,64,34,12,23423,2312,167,768,932,346,32789,335,2,1145,34,56,99,111]
直接插入排序:[2,11,12,23,34,34,56,64,89,99,111,121,167,232,335,346,768,932,1145,2312,23423,32789]
冒泡排序 :[2,11,12,23,34,34,56,64,89,99,111,121,167,232,335,346,768,932,1145,2312,23423,32789]
快速排序 :[2,11,12,23,34,34,56,64,89,99,111,121,167,232,335,346,768,932,1145,2312,23423,32789]
选择排序 :[2,11,12,23,34,34,56,64,89,99,111,121,167,232,335,346,768,932,1145,2312,23423,32789]
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。