zoukankan      html  css  js  c++  java
  • Python算法(一)冒泡排序

    3  5  1  6  2

    1)第一次:找到这些数中最大的一个,并把它放最后。

    3、5找到大的数放到第二个位置

    5、1找到大的数放到第三个位置

    5、6找到大的数放到第四个位置

    2、6找到大的数放大第五个位置

    第五个位置就是最大的

    a= [3,5,1,6,2]
    for i in range(len(a)-1):
        if a[i]>a[i+1]:
            a[i],a[i+1] = a[i+1],a[i]

    print(a[-1]) 
    2)找到最大值了,现在找次大值,次大值放在倒数第二的位置
    a= [3, 1, 5, 2, 6]
    for i in range(len(a)-1-1):
        if a[i]>a[i+1]:
            a[i],a[i+1] = a[i+1],a[i]

    print(a[-2]) 
     
    3)找第三个最大的数,放到倒数第三个
    for i in range(len(a)-1-1-1):
        if a[i]>a[i+1]:
            a[i],a[i+1] = a[i+1],a[i]

    print(a[-3]) 
     
    4)找到第四个最大的数,放到倒数第四个
    for i in range(len(a)-1-1-1-1):
        if a[i]>a[i+1]:
            a[i],a[i+1] = a[i+1],a[i]

    print(a[-4]) 
    5)剩下的最后一个,就是最小的数,放到第一个
     
    找到规律,实现冒泡
     a= [3,5,1,6,2]
    for i in range(len(a)-1):#0,1,2,3
        for j in range(len(a)-1-i):
            if a[j]>a[j+1]:
                a[j],a[j+1] = a[j+1],a[j]

    print(a) 
     
     
    总结一下过程:
    第一次内层循环的结果就是找到最大的值
    第二次内层循环的结果就是找到次大的值,本次将忽略最后一个元素的比较
    第三次内层循环的结果就是找到第三大的值,本次将忽略倒数第二个元素和最后一个元素的比较
    第四次内层循环的结果就是找到第四大的值,本次将忽略倒数第三个元素和倒数第二个元素和最后一个元素的比较
    剩下的最后一个,就是最小的数
    .......
     

    两个数在python中如何交互位置

    两种写法:

    1、

    a,b = b,a

    2、

    temp=a

    a=b

    b=temp

    a=[7,2,4,21,44,3]

     

    两个for循环,第一层控制比几次,第二层控制怎么比

    升序

    for i in range(1,len(a)):

        for j in range(len(a)-1):

            if a[j]>a[i]:

                a[j],a[i]=a[i],a[j]

    print a

     

     

    降序

    for i in range(1,len(a)):

        for j in range(len(a)-1):

            if a[j]<a[i]:

                a[j],a[i]=a[i],a[j]

    print a

     

  • 相关阅读:
    十一周总结
    第十周课程总结
    第九周课程总结&实验报告
    第八周课程总结&实验报告
    第七周&实验报告五
    第六周&Java实验报告四
    课程总结
    第十四周课程总结
    第十三周总结
    十二周课程总结
  • 原文地址:https://www.cnblogs.com/suitcases/p/9490596.html
Copyright © 2011-2022 走看看