1、选择排序
选择排序就是比较当前数字,和他之后的所有数字,始终选择大的放在前面,这样所有位置都比较完毕以后,一串数字就会按照从大到小的顺序排列了
【示例】
#4 2 1 8 6
n = int(input())
arr = list(map(int, input().split()))
#arr = [int(x) for x in input().split()] #推导式
#选择排序
for i in range(n-1): #几轮
for j in range(i+1, n): #每一轮比较的次数
if arr[j] < arr[i]:
arr[i], arr[j] = arr[j], arr[i]
#输出
print(*arr)
2、冒泡排序
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有元素再需要交换,也就是说该数列已经排序完成。
【示例】
n = int(input())
arr = list(map(int, input().split()))
#arr = [int(x) for x in input().split()]
#冒泡排序
for i in range(n-1): #几轮
flag = True#假设排序好
for j in range(n-1-i): #每一轮冒泡
if arr[j+1] < arr[j]:
arr[j+1], arr[j] = arr[j], arr[j+1]
flag = False
if flag: break
#输出
print(*arr)
3、插入排序
插入排序是一种简单直观的排序算法,它的工作原理类似于我们排序扑克牌的方式。每次从无序部分取出一个元素,将其插入到有序部分的适当位置,直到所有元素都排好序为止。
【示例】
n = int(input())
arr = [int(x) for x in input().split()]
# 插入排序
for i in range(1,n): # 几轮
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
# 输出
print(*arr)
相关精彩链接
领取专属 10元无门槛券
私享最新 技术干货