2017-04-24 51 views
-8

如何编写一个排序功能,从最高到最低排序,没有内置函数?排序从最高到最低没有内置

例如:

A=[2,4,6] 
sorthightolow(A) 
A=[6,4,2] 
+0

为什么没有内置?? ?? –

+14

如果你的老板要求你不要使用内建的插件,你应该退出这个工作。如果教师/教授要求您不要使用内置的插件,您应该自行完成 - 或者至少提供一些代码并告诉我们您卡在哪里。 –

+0

将其发布到https://codegolf.stackexchange.com - 这是“codegolf”的正确位置:D – Claudio

回答

-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 
相关问题