目前比较火的排序算法有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)
结果如图
掌握以上三种排序代码(能实现功能即可)就够用!!!!!!