- 一.选择排序
- 二.冒泡排序
- 三.插入排序
- 四.计数排序(桶排序)
1.概述:当前值(角标0)和后面的每一个元素逐一进行比较,如果前者大于后者,那么交换位置,然后角标1处的元素和后面依次比较,原理相同,直到最后一个元素。(角标:举例一组数5 2 3,角标便依次为0,1,2.)
2.代码:
#选择排序 arr = [8,3,2,6,1,4,9,7] for i in range(0,len(arr)): for j in range(i+1,len(arr)): if arr[i] >= arr[j]: arr[i],arr[j] = arr[j],arr[i] print(arr)二.冒泡排序
1.概述:定义指针j,如果默认为从小到大的顺序进行排序,j和j+1再进行比较,如果j>+1,则交换两个元素的位置即可,依次循环。(相当于每一轮比较完找到了最大值)【即前面的值依次和后面比大小并不断交换位置,换完后重新从第一个往后面比大小】
2.代码:
#冒泡排序 arr = [8,3,2,6,1,4,9,7] for i in range(0,len(arr)-1): for j in range(0,len(arr)-1-i): if arr[j] >= arr[j+1]: arr[j],arr[j+1] = arr[j+1],arr[j] print(arr)三.插入排序
1.概述:定义两个指针i,j均指向角标1处,j-1指向j的前一个元素,当j-1>=0的时候(也就是有元素的时候),比较j和j-1的大小,如果j
#插入排序 arr = [8,3,2,6,1,4,9,7] for i in range(1,len(arr)): for j in range(i,0,-1): if arr[j] <= arr[j-1]: arr[j],arr[j-1] = arr[j-1],arr[j] print(arr)四.计数排序(桶排序)
1.概述:找到最大值与最小值 stemp = max - min + 1,找到两值并计算个数排序。
2.代码:
#计数排序(桶排序) arr = [8,3,2,6,1,4,9,7] max_num = arr[0] min_nux = arr[0] for num in arr: print(arr[num]) arr1[num-offset] += 1 print(arr1) index = 0 for i in range(0,len)



