没有内置的从高到低排序[关闭]
Posted
技术标签:
【中文标题】没有内置的从高到低排序[关闭]【英文标题】:Sort highest to lowest without built in [closed] 【发布时间】:2017-09-20 18:49:18 【问题描述】:在没有内置函数的情况下,如何编写一个从高到低排序的排序函数?
例如:
A=[2,4,6]
sorthightolow(A)
A=[6,4,2]
【问题讨论】:
为什么没有内置?? 如果你的老板要求你不要使用内置插件,你应该辞职。如果老师/教授要求您不要使用内置插件,您应该自己做 - 或者至少提供一些代码并告诉我们您卡在哪里。 发布到codegolf.stackexchange.com - 这是“codegolf”的正确位置:D 搜索冒泡排序等排序技术。 一般来说,实现一个排序算法。有很多选择,包括如上所示的冒泡排序。您可能自己想出一个排序算法(但这可能不是最有效的) - 考虑如何手动对数字进行排序并实现它。 【参考方案1】:我不知道为什么在没有内置函数的情况下会这样做,但这是一个有效的冒泡排序示例。 http://rosettacode.org/wiki/Sorting_algorithms/Bubble_sort#Python
def bubble_sort(seq):
"""Inefficiently sort the mutable sequence (list) in place.
seq MUST BE A MUTABLE SEQUENCE.
As with list.sort() and random.shuffle this does NOT return
"""
changed = True
while changed:
changed = False
for i in xrange(len(seq) - 1):
if seq[i] > seq[i+1]:
seq[i], seq[i+1] = seq[i+1], seq[i]
changed = True
return seq
if __name__ == "__main__":
"""Sample usage and simple test suite"""
from random import shuffle
testset = range(100)
testcase = testset[:] # make a copy
shuffle(testcase)
assert testcase != testset # we've shuffled it
bubble_sort(testcase)
assert testcase == testset # we've unshuffled it back into a copy
【讨论】:
以上是关于没有内置的从高到低排序[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
输入10个人分数,求最高分,按分数从高到低排序&&去除最高分最低分,求平均分