编程学习之基础:排序算法01

三种常见的排序算法在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]

Subscribe to LoveNft.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.