python 选择一个数组中第K小的数字
解法一:
对数组进行排序,选择第K个位置的数字
冒泡排序
list = [6,24,12,64,48,36,72]
def Bubble_sort(list):
length=len(list)
for i in range(length):
for j in range(i+1,length):
if list[i]<list[j]:
list[i],list[j]= list[j],list[i]
Bubble_sort(list)
print(list)
选择排序
这里对数组的所有元素进行了全部的排序
list = [6,24,12,64,48,36,72]
def Select_Sort(list):
length=len(list)
for i in range(length):
min = i
for j in range(i+1,length):
if list[min] < list[j]:
min = j
list[i],list[min] = list[min],list[i]
Select_Sort(list)
print(list)
选择排序二
进行部分排序,只排序K个元素
list = [6,24,12,64,48,36,72]
def Select_Sort(list,k):
length=len(list)
for i in range(k):
min = i
for j in range(i+1,length):
if list[min] < list[j]:
min = j
list[i],list[min] = list[min],list[i]
Select_Sort(list,3)
print(list)