这里有新鲜出炉的 Python 多线程编程,程序狗速度看过来!
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
选择法也算是入门的一种排序算法,比起冒泡法,它的方法巧妙了一些,它的出发点在于 "挑",每次挑选数组的最值,与前置元素换位,然后继续挑选剩余元素的最值并重复操作。个人认为选择排序的意义不在于排序本身,而在于挑选和置换的方法,对于一些问题很有帮助。
选择排序:
选择排序(Selection sort)是一种简单直观的 排序算法 。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对 n 个元素的表进行排序总共进行至多 n-1 次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。
Python 实现:
- # selection_sort.py
- def selection_sort(arr):
- count = len(arr)
- for i in range(count-1): # 交换 n-1 次
- min = i
- # 找最小数
- for j in range(i, count):
- if arr[min] > arr[j]:
- min = j
- arr[min], arr[i] = arr[i], arr[min] # 交换
- return arr
- my_list = [6, 23, 2, 54, 12, 6, 8, 100]
- print(selection_sort(my_list))
(adsbygoogle = window.adsbygoogle || []).push({});
来源: http://www.phperz.com/article/17/0703/336428.html