# 一、排序算法
数组的排序,就是让一个数组中的数据,根据一定的算法,最终是数值有顺序的,可以从小到大(升序),也可以从大到小(降序)。默认是升序。
排序算法也有很多种,冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序等等。。
# 二、冒泡排序
冒泡排序:(Bubble Sort)依次比较两个相邻的元素,如果他们的顺序(如从大到小)就把他们交换过来。
示例代码:
package main
import "fmt"
func main() {
/*
数组的排序:
让数组中的元素具有一定的顺序。
arr :=[5]int{15,23,8,10,7}
升序:[7,8,10,15,23]
将序:[23,15,10,8,7]
排序算法:
冒泡排序,插入排序,选择排序,希尔排序,堆排序,快速排序。。。。
冒泡排序:(Bubble Sort)
依次比较两个相邻的元素,如果他们的顺序(如从大到小)就把他们交换过来。
*/
arr := [5]int{15, 23, 8, 10, 7}
////第一轮排序
//for j := 0; j < 4; j++ {
// if arr[j] > arr[j+1] {
// arr[j], arr[j+1] = arr[j+1], arr[j]
// }
//}
//fmt.Println(arr)
//
////第二轮排序
//for j:=0;j<3;j++{
// if arr[j] > arr[j+1] {
// arr[j], arr[j+1] = arr[j+1], arr[j]
// }
//}
//fmt.Println(arr)
for i:=1;i arr[j+1] {
arr[j], arr[j+1] = arr[j+1], arr[j]
}
}
fmt.Println(arr)
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44