排序算法(选择、冒泡、插入)
python代码总结
代码如下:
# 选择排序
# 找到最小值的位置,直接放到最前面
def selectionSort(arr):
for i in range(len(arr)):
minIndex = i # 记录最小元素的索引
# 找出最小元素
for j in range(i + 1, len(arr)):
if arr[j] < arr[minIndex]:
minIndex = j
# i不是最小元素时,将i和最小元素进行交换
if i != minIndex:
arr[i], arr[minIndex] = arr[minIndex], arr[i]
return arr
# 冒泡排序
# 两两换,看谁到最后
def bubbleSort(arr):
for i in range(len(arr)):
for j in range(0,len(arr)-i-1):
if arr[j]>arr[j+1]:
arr[j],arr[j+1]=arr[j+1],arr[j]
return arr
# 插入排序
# 0-0 0-1 0-2 0-3...依次让其范围内的有序,新插入的数往前看,小的话交换
def insertSort(arr):
for i in range(1,len(arr)):
for j in range(i-1,-1,-1):
if arr[i]<arr[j]:
arr[i],arr[j]=arr[j],arr[i]
else:
break
return arr
if __name__=="__main__":
nums=list(map(int,input().split())) #字符串-->字符列表-->数字列表
print("选择排序 :", selectionSort(nums))
print("冒泡排序 :", bubbleSort(nums))
print("插入排序 :", insertSort(nums))