数据结构——排序算法
一共有6种排序算法,分别为:冒泡排序,选择排序,插入排序,希尔排序,快速排序,归并排序
冒泡排序
冒泡排序就是比较相邻两个元素,若左边元素大于右边元素则换序,这样第一轮换序完之后最大的就会到最后一位,然后再进行第二轮,第二轮只用比较前n-1个即可,n个循环之后排序完成。
python代码如下:
def bubble_sort(a):
n = len(a)
for j in range(n):
count = 0
for i in range(n-j-1):
if a[i] > a[i+1]:
a[i], a[i+1] = a[i+1], a[i]
count += 1
else:
continue
if count == 0:
break
选择排序
选择排序就是先找到列表中最小的元素放在第一位,然后再找剩余元素中最小的放在第二位,以此类推即可完成排序。
python代码如下:
def selection_sort(a):
n = len(a)
for i in range(n-1):
min_index = i
# 利用循环找到最小值的下标 min_index
for j in range(i+1,n):
if a[j] < a[min_index]:
min_index