ghpython_选择排序

Posted 颜犀设

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ghpython_选择排序相关的知识,希望对你有一定的参考价值。

今天咱们来学习另一个列表排序算法,选择排序。

所谓选择排序,通过列表元素的索引值标记,从未排序列表中找出最大或者最小元素,放置到已排序列表的首位,然后再从剩下的未排序列表中继续查找最大或最小元素,依次放置到未排序列表的末尾,如此反复,直到整个列表排序完毕。

这里的已排序列表和未排序列表并不是两个单独的列表,可以理解成一个列表分成两段,一段是已经排序好的,另一段是需要从中依次提取最大或最小值的列表。

#选择排序"""首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。"""import random as rd
lst=rd.sample(xrange(-x,x),int(num))print("随机生成的原始列表为:{0}".format(lst))
def selection_sort(lst): length=len(lst) #外层for循环相当于标记列表需要选择排序的位置 for i in range(length-1): min_index=i #用来记录最小元素的索引值,每次假设是未排序列表的第一个 #遍历从i开始往后的每一个元素,如果发现比记录的最小值还小的值 #则将最小值索引值进行重新赋值 for j in range(i+1,length): if lst[j]<lst[min_index]: min_index=j #如果发生了最小值索引的重新赋值,说明找到了更小的值,则将两个值进行互换 if i!=min_index: lst[i],lst[min_index]=lst[min_index],lst[i] return lst
print("选择排序后的列表为:{0}".format(selection_sort(lst)))



欢迎关注「颜犀设」知乎专栏和知识星球。


以上是关于ghpython_选择排序的主要内容,如果未能解决你的问题,请参考以下文章

java七大排序——3_选择排序

如何从另一个片段访问片段对象

算法_选择排序

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

VSCode自定义代码片段——CSS选择器