日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php和python的选择排序算法,图文讲解选择排序算法的原理及在Python中的实现

發(fā)布時間:2025/3/20 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php和python的选择排序算法,图文讲解选择排序算法的原理及在Python中的实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

def sort_choice(numbers, max_to_min=True):

"""

我這沒有按照標準的選擇排序,假設(shè)列表長度為n,思路如下:

1、獲取最大值x,將x移動到列最后。[n1, n2, n3, ... nn]

2、將x追加到排序結(jié)果[n1, n3, ... nn, n2]

3、獲取排序后n-1個元素[n1, n3, ... nn],重復(fù)第一步,重復(fù)n-1次。

max_to_min是指從大到小排序,默認為true;否則從小到大排序。

對[8, 4, 1, 0, 9]排序,大致流程如下:

sorted_numbers = []

[8, 4, 1, 0, 9], sorted_numbers = [9]

[4, 1, 0, 8], sorted_numbers = [9, 8]

[1, 0, 4], sorted_numbers = [9, 8, 4]

[0, 1], sorted_numbers = [9, 8, 4, 1]

[0], sorted_numbers = [9, 8, 4, 1, 0]

"""

if len(numbers) <= 1:

return numbers

sorted_list = []

index = 0

for i in xrange(len(numbers) - index):

left_numbers = _get_left_numbers(numbers, max_to_min)

numbers = left_numbers[:-1]

sorted_list.append(left_numbers[-1])

index += 1

return sorted_list

def _get_left_numbers(numbers, get_max=True):

'''

獲取最大值或者最小值x,并且將x抽取出來,置于列表最后.

Ex: get_max=True, [1, 4, 3] ? [1, 3, 4]

get_max=False, [1, 4, 3] ? [4, 3 ,1]

'''

max_index = 0

for i, num in enumerate(numbers):

if get_max:

if num > numbers[max_index]:

max_index = i

else:

if num < numbers[max_index]:

max_index = i

numbers = numbers[:max_index] + numbers[max_index + 1:] + [numbers[max_index]]

return numbers

測試一下:

>>> get_left_numbers([0, 4, 0, 31, 9, 19, 89,67], get_max=True)

[0, 4, 0, 31, 9, 19, 67, 89]

>>> get_left_numbers([0, 4, 0, 31, 9, 19, 89,67], get_max=False)

[4, 0, 31, 9, 19, 89, 67, 0]

>>> sort_choice([0, 4, 0, 31, 9, 19, 89,67], max_to_min=False)

[0, 0, 4, 9, 19, 31, 67, 89]

>>> sort_choice([0, 4, 0, 31, 9, 19, 89,67], max_to_min=True)

[89, 67, 31, 19, 9, 4, 0, 0]

本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!

相關(guān)文章

相關(guān)視頻

總結(jié)

以上是生活随笔為你收集整理的php和python的选择排序算法,图文讲解选择排序算法的原理及在Python中的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。