选择排序和冒泡排序

来源:互联网 发布:老徐零食店的淘宝号 编辑:程序博客网 时间:2024/05/16 09:26

以下介绍摘自算法设计(Anany Levitin)书。(后面从略)

选择排序:
扫描整个列表,找到最小的元素,然后和第一个元素交换,将最小元素放到它在有序表的最终位置上。然后从第二个元素开始扫描剩下的n-1个,做同样的操作。 not stable

python代码

#selection sortdef sort(A):  #A is an array    n=len(A)    for i in range(n-1):        mini=i        for j in range(i+1,n):            if A[j]<A[mini] : mini=j        A[mini],A[i]=A[i],A[mini]    return A

冒泡排序:
比较数组中的相邻元素,如果它们是逆序的话就交换它们的位置,重复多次以后,最终,最大的元素会”沉到”最后的一个位置。第二遍操作将第二大的元素沉下去。重复做n-1次,数组就重新排好序了。 stable

python代码

#bubble sortdef sort(A):     n=len(A)    for i in range(n-1):        for j in range(n-1-i):            if A[j+1]<A[j] : A[j],A[j+1]=A[j+1],A[j]    return A
0 0
原创粉丝点击