一 排序的基本介绍
排序是将一组数据,依照指定的顺序进行排列的过程。
排序的分类:
1 内部排序
将需要处理的所有数据加载到内部存储器进行排序。
包括:交换式排序法、选择式排序法和插入式排序法。
2 外部排序
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。
包括:合并排序法和直接合并排序法。
3 冒泡排序
基本思想:通过对排序序列从后向前(从下标较大的元素开始),依次比较相邻的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移到前部,就像水底下的气泡一样逐渐向上冒。
因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。
二 图解冒泡排序
三 冒泡排序实现
1 代码
package main
import (
"fmt"
)
// 冒泡排序
func BubbleSort(arr *[5]int) {
fmt.Println("排序前arr=", (*arr))
temp := 0 // 临时变量,用于交换、
for i := 0; i < len(*arr)-1; i++ {
for j := 0; j < len(