Python中实现排序的方法有多种,以下是一些常见的排序算法及其实现方式:
冒泡排序
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr[1:] 返回排序后的列表,去掉第一个素
选择排序
def selection_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[min_idx] > arr[j]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr[1:] 返回排序后的列表,去掉第一个素
插入排序
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >= 0 and key < arr[j]:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
return arr[1:] 返回排序后的列表,去掉第一个素
快速排序
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
内置函数排序
Python提供了内置函数`sorted()`和列表的`sort()`方法,可以方便地对列表进行排序。
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list) 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
使用内置函数进行排序
my_list.sort() 对列表进行原地排序
print(my_list) 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
以上是几种常见的排序算法及其在Python中的实现方式。您可以根据需要选择合适的排序方法
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/141876.html