在Python中,使用循环进行排序可以通过不同的算法实现,例如冒泡排序、选择排序、插入排序等。下面我将分别介绍如何使用循环实现冒泡排序和选择排序。
冒泡排序
冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较每对相邻元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作重复进行直到没有再需要交换,也就是说该列表已经排序完成。
def bubble_sort(lst):
n = len(lst)
for i in range(n):
for j in range(0, n-i-1):
if lst[j] > lst[j+1]:
lst[j], lst[j+1] = lst[j+1], lst[j]
return lst
示例
lst = [64, 34, 25, 12, 22, 11, 90]
print("原始列表:", lst)
sorted_lst = bubble_sort(lst)
print("排序后的列表:", sorted_lst)
选择排序
选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
def selection_sort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i+1, len(arr)):
if arr[min_idx] > arr[j]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
示例
arr = [64, 25, 12, 22, 11]
print("原始列表:", arr)
sorted_arr = selection_sort(arr)
print("排序后的列表:", sorted_arr)
以上代码展示了如何使用循环实现冒泡排序和选择排序。您可以根据需要选择合适的排序算法对列表进行排序。