一、内部排序
指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择式排序法和插入式排序法);
1、冒泡排序
package main
import "fmt"
func puzzle(arr *[5]int) {
for i := 0; i < len(*arr) - 1; i++{
for j := 0; j < len(*arr) - 1 - i;j++{
var tem = 0
if (*arr)[j] < (*arr)[j+1] {
tem = (*arr)[j]
(*arr)[j ] = (*arr)[j + 1]
(*arr)[j + 1] = tem
}
}
}
}
func main() {
ints := [...]int{10, 80, 54, 66, 55}
puzzle(&ints)
fmt.Println(ints)
}
二、外部排序法
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。包括(合并排序法和直接合并排序法)。