Python选择排序、冒泡排序、合并排序代码实例
Python选择排序、冒泡排序、合并排序代码实例
发布时间:2016-12-28 来源:查字典编辑
摘要:前两天刚装了python3.1.1,禁不住技痒写点code。1.选择排序复制代码代码如下:>>>defSelSort(L):length=l...

前两天刚装了python 3.1.1, 禁不住技痒写点code。

1.选择排序

复制代码 代码如下:

>>> def SelSort(L):

length=len(L)

for i in range(length-1):

minIdx=i

minVal=L[i]

j=i+1

while j<length:

if minVal>L[j]:

minIdx=j

minVal=L[j]

j=j+1

L[i],L[minIdx]=L[minIdx],L[i]

return L

2.冒泡排序

复制代码 代码如下:

>>> def bubSort(L):

swapped=True

while swapped:

swapped=False

for i in range(len(L)-1):

if L[i]>L[i+1]:

L[i],L[i+1]=L[i+1],L[i]

swapped=True

return L

3.合并排序

复制代码 代码如下:

>>> def merge(left,right):

result=[]

i,j=0,0

while i<len(left) and j<len(right):

if left[i]<=right[j]:

result.append(left[i])

i=i+1

else:

result.append(right[j])

j=j+1

result+=left[i:]

result+=right[j:]

return result

>>> def mergesort(L):

if len(L) < 2:

return L

else:

middle = int(len(L)/2)

left = mergesort(L[:middle])

right = mergesort(L[middle:])

return merge(left, right)

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类