数组之排序和查找
排序之冒泡排序
内部排序
数据量较小,将需要处理的所有数据都加在到内部存储器中进行排序
交换式排序法(冒泡排序Bubble sort,快速排序quick sort)
冒泡排序法
通过对 带排序序列从后向前(从下表较大的元素开始),一次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移向前部(从下标较大的单元移向下表较小的单元)
优化思想:
因为在排序的过程中,各元素不断接近自己的位置,如果一次比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag 判断元素是否进行过交换,从而减少不必要的比较
图文讲解

代码实现
func BubbleSort(arry *[5]int){
temp := 0 //临时变量,用来存储交换的值
for i := 0; i < len(*arry) - 1;i++{
for j := 0; j < len(*arry) -1 - i;j++{
if (*arry)[j] > (*arry)[j+1]{
temp = (*arry)[j]
(*arry)[j] = (*arry)[j + 1]
(*arry)[j + 1] = temp
}
}}
}
func main(){
var arry [5]int = [5]int{11,3,444,5,6}
BubbleSort(*arry)
}
选择式排序法
插入式排序法
外部排序
数据量过大,无法全部加在到内存中,需要借助外部存储进行排序
合并排序法
直接合并排序法
python防脱发技巧

浙公网安备 33010602011771号