三种常见的排序算法在Python中的实现:
(Mirror的编辑器怎么缩进行,没有搞清楚)
def bubble_sort(nums):
for i in range(len(nums)-1):
for j in range(len(nums)-i-1):
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j]
def selection_sort(nums):
for i in range(len(nums)-1):
min_idx = i
for j in range(i+1, len(nums)):
if nums[j] < nums[min_idx]:
min_idx = j
nums[i], nums[min_idx] = nums[min_idx], nums[i]
def quick_sort(nums):
if len(nums) <= 1:
return nums
pivot = nums[len(nums) // 2]
left = [x for x in nums if x < pivot]
middle = [x for x in nums if x == pivot]
right = [x for x in nums if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
nums = [5, 3, 1, 4, 2]
bubble_sort(nums)
print(nums) # [1, 2, 3, 4, 5]nums = [5, 3, 1, 4, 2]
selection_sort(nums)
print(nums) # [1, 2, 3, 4, 5] nums = [5, 3, 1, 4, 2]
quick_sort(nums)
print(nums) # [1, 2, 3, 4, 5]