python的选择排序和冒泡排序

冒泡排序:

#冒泡排序(降序)
#冒泡排序要排序n个数,由于每遍历一趟只排好一个数字,
#则需要遍历n-1趟,所以最外层循环是要循环n-1次,而
#每次趟遍历中需要比较每归位的数字,则要在n-1次比较
#中减去已排好的i位数字,则第二层循环要遍历是n-1-i次
bb=[6,5,8,2,45,3,9]
for ii in range(len(bb)-1):
    for jj in range(len(bb)-1-ii):
        if (bb[jj+1]>bb[jj]):
            temp=bb[jj]
            bb[jj]=bb[jj+1]
            bb[jj+1]=temp
print(bb)

选择排序:

#选择排序(升序)
#先从序列中,找到最小的元素,放在第一个位置
#之后找到第二小的元素,放在第二个元素,以此类推
bb=[6,5,8,2,45,3,9]
for i in range(len(bb)-1):
    min=i
    #遍历一次找到一个最小值下标
    for j in range(i+1,len(bb)):  #这里的range()前闭后开,若要取到len(bb)-1第二个参数只能为len(bb)
        if(bb[min]>bb[j]):
            #将最小的值赋给bb[min]
            temp1=bb[j]
            bb[j]=bb[min]
            bb[min]=temp1
print(bb)

 

上一篇:Codeforces Round 558(Div 2)题解


下一篇:Talent Show