从高到低排序,无内置

2024-04-20 11:16:22 发布

您现在位置:Python中文网/ 问答频道 /正文

如果没有内置函数,如何编写从最高到最低排序的排序函数?你知道吗

例如:

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

Tags: 函数排序内置sorthightolow
1条回答
网友
1楼 · 发布于 2024-04-20 11:16:22

我不知道为什么没有内置函数的情况下会这样做,但这里有一个正在工作的冒泡排序示例。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

相关问题 更多 >