当前位置: > python教程 > python高级教程 >

python排序算法--选择排序
栏目分类:python高级教程   发布日期:2019年03月10日 18:45:51   浏览次数:

    上一篇文章介绍了冒泡排序的算法解析和python的实现,接下来我将实现python的选择排序。

              python算法

1.实现
    不借助python的内置函数实现选择排序,代码如下:

def select_sort(lis):
   li = copy.deepcopy(lis)
   length = len(li)
   index = 0
   for i in range(length-1):
      for j in range(length - 1, index, -1):
         if li[j] <= li[index]:
            li[j], li[index] = li[index], li[j]
      yield li[index]
      index += 1
   yield li[-1]

2.测试
测试代码如下:

li = [20, 17, 31, 55, 44, 77, 45, 93, 100, 9, 226,-1,-2,45]
lis = [0, 0, 0, 0, 1, 1, 1, 20.09, 20.08]
print(list(select_sort(li)))
print(list(select_sort(lis)))
'''
[-2, -1, 9, 17, 20, 31, 44, 45, 45, 55, 77, 93, 100, 226]
[0, 0, 0, 0, 1, 1, 1, 20.08, 20.09]
'''
3.选择排序解析
       选择排序关键在与每次线性搜索远处最小的数值。取待排序的数组首位数字为基准,依次用数组其他的数字和基准数字进行比较,若数字小于基准数字,则交换数字,重复迭代直至抛出最小的数字。对剩下的数组重复上述步骤,可以得到最终的结果。

结语

        好了,这就是选择排序的python实现,你学到了么?

相关热词:

热门关键词
python字符串
     
python教程 python爬虫 python人工智能 Python+大数据 python问答