当前位置:编程学习 > python >>

[Python-算法]python实现冒泡,插入,选择排序

从新开始学习数据结构和算法,从前没有系统学过。

 

[python] 
# -*- coding: cp936 -*-  
#python插入排序  
def insertSort(a): 
    for i in range(len(a)-1): 
        #print a,i    
        for j in range(i+1,len(a)): 
            if a[i]>a[j]: 
                temp = a[i] 
                a[i] = a[j] 
                a[j] = temp 
    return a 
 
 
#Python的冒泡排序     
def bubbleSort(alist): 
    for passnum in range(len(alist)-1,0,-1): 
        #print alist,passnum  
        for i in range(passnum): 
            if alist[i]>alist[i+1]: 
                temp = alist[i] 
                alist[i] = alist[i+1] 
                alist[i+1] = temp 
    return alist 
 
 
#Python的选择排序   
def selectionSort(alist): 
    for i in range(len(alist)-1,0,-1): 
        maxone = 0 
        for j in range(1,i+1): 
            if alist[j]>alist[maxone]: 
                maxone = j 
        temp = alist[i]  
        alist[i] = alist[maxone] 
        alist[maxone] = temp  
    return alist 
 
 
alist = [54,26,93,17,77,31,44,55,20] 
#print bubbleSort(alist)  
alist = [54,26,93,17,77,31,44,55,20] 
print selectionSort(alist) 

# -*- coding: cp936 -*-
#python插入排序
def insertSort(a):
    for i in range(len(a)-1):
        #print a,i 
        for j in range(i+1,len(a)):
            if a[i]>a[j]:
                temp = a[i]
                a[i] = a[j]
                a[j] = temp
    return a


#Python的冒泡排序  
def bubbleSort(alist):
    for passnum in range(len(alist)-1,0,-1):
        #print alist,passnum
        for i in range(passnum):
            if alist[i]>alist[i+1]:
                temp = alist[i]
                alist[i] = alist[i+1]
                alist[i+1] = temp
    return alist


#Python的选择排序
def selectionSort(alist):
    for i in range(len(alist)-1,0,-1):
        maxone = 0
        for j in range(1,i+1):
            if alist[j]>alist[maxone]:
                maxone = j
        temp = alist[i]
        alist[i] = alist[maxone]
        alist[maxone] = temp
    return alist


alist = [54,26,93,17,77,31,44,55,20]
#print bubbleSort(alist)
alist = [54,26,93,17,77,31,44,55,20]
print selectionSort(alist)


 

补充:Web开发 , Python ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,