zoukankan      html  css  js  c++  java
  • Python 选择排序法

    选择排序:

    原理:首先:在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,

    然后:再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。

    以此类推:直到所有元素均排序完毕。

    #选择排序一:从小到大排序

    def selectSort(arr):
      n=len(arr)
      for i in range(n):#遍历数组
        t=i #取当前数
        for j in range(i+1,n):#遍历 i 所在位置之后的数组
          if arr[t] > arr[j]: #如果当前数 大于 之后的数
            t = j #则把 j 的位置索引 给前一位置的 t,

        #没有遍历循环的条件之后
        # i 位置的数与 t 位置的数值对调
        arr[i],arr[t]=arr[t],arr[i]


    #测试
    arr=[10,70,25,12,12,22,11]
    selectSort(arr)
    print("排序后的数组:")
    for i in range(len(arr)):
    print("%d" %arr[i])

    #选择排序二:从大到小排序

    def selectSort(arr):
      n=len(arr)
      for i in range(n):#遍历数组
        t=i #取当前数
        for j in range(i+1,n):#遍历 i 所在位置之后的数组
          if arr[t] < arr[j]:#如果当前数 小于 之后的数
            t = j #则把 j 的位置索引 给前一位置的 t,

        #没有遍历循环的条件之后
        # i 位置的数与 t 位置的数值对调
        arr[i],arr[t]=arr[t],arr[i]


    #测试
    arr=[10,70,25,12,12,22,11]
    selectSort(arr)
    print("排序后的数组:")
    for i in range(len(arr)):
    print("%d" %arr[i])

  • 相关阅读:
    B站14天数据分析笔记6次课笔记
    B站14天数据分析笔记5次课作业
    B站14天数据分析笔记5次课Pandas
    1037 在霍格沃茨找零钱 (20 point(s))
    第一章:第三节探索性数据分析
    Java没有运行选项
    Eclipse截图的时候错误提示消失/复制粘贴错误信息
    错误记录_css属性的值一定不需要引号么?
    错误记录_语法哪里错了?
    微软输入法使用
  • 原文地址:https://www.cnblogs.com/xiangers/p/15438179.html
Copyright © 2011-2022 走看看