2017-04-24 99 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 
相關問題