目前比较火的排序算法有10多种,本次使用Python实现其中几种排序算法
题目:编写排序算法实现对arr列表中的元素进行排序
arr = [4,3,6,9,1,7,2,8]
一、冒泡排序
arr = [4,3,6,9,1,7,2,8]
n = len(arr) #求出列表arr的长度
#封装排序功能
def mysort(arr):
for i in range( n - 1 ):
for j in range( i+1, n ):
if arr[i] > arr[j]:
arr[i],arr[j] = arr[j],arr[i]
return arr
#调用算法
mysort(arr)
结果如图
二、插入排序
#插入排序
arr = [4,3,6,9,1,7,2,8]
def insert_sort(arr):
n = len(arr)
for i in range(1,n):
cur_key = arr[i]
j = i
while j > 0 and arr[j - 1] > cur_key:
arr[j] = arr[j-1]
j -= 1
arr[j] = cur_key
return arr
insert_sort(arr)
结果如图所示
三、希尔排序
#希尔排序
arr = [4,3,6,9,1,7,2,8]
def shell_sort(arr):
n = len(arr)
gap = n // 2
while gap > 0 :
for i in range(gap,n):
temp = arr[i]
j = i
while j >= gap and arr[j - gap] > temp:
arr[j] = arr[j - gap]
j -= gap
arr[j] = temp
gap = gap // 2
return arr
shell_sort(arr)
结果如图
掌握以上三种排序代码(能实现功能即可)就够用!!!!!!