提示:
一、冒泡排序
1)排序的基本介绍
外部排序法:数据量过大
2)思路
3)实现
package main
import (
"fmt"
)
func BubbleSort(arr *[5]int){
fmt.Println(*arr)
temp:=0
for i:=0;i<len(*arr)-1;i++{
for j:=0;j<len(*arr)-i-1;j++{
if((*arr)[j]>(*arr)[j+1]){
temp=(*arr)[j]
(*arr)[j]=(*arr)[j+1]
(*arr)[j+1]=temp
}
}
}
fmt.Println((*arr))
}
func main(){
a:=[5]int{17,2,36,4,5}
BubbleSort(&a)
fmt.Println(a)
}
二、查找
1)顺序查找
package main
import (
"fmt"
)
func main(){
name:=[4]string{"aaa","bbb","ccc","ddd"}
goal:="aaa"
index:=-1
for i:=0;i<len(name);i++{
if(goal==name[i]){
index=i
break
}
}
if index!=-1{
fmt.Printf("找到了,下标为%v",index)
}else{
fmt.Println("没有找到")
}
}
2)二分查找
package main
import(
"fmt"
)
func BinaryFind(arr *[6]int,left int,right int,score int){
if(left>right){
fmt.Println("找不到")
return
}
middle :=(left+right)/2
if(*arr)[middle]>score{
BinaryFind(arr,middle+1,right,score)
} else if(*arr)[middle]<score{
BinaryFind(arr,left,middle-1,score)
}else{
fmt.Printf("找到了,下标为%v",middle)
}
}
func main(){
arr := [6]int{1,8, 10, 89, 1000, 1234}
BinaryFind(&arr, 0, len(arr) - 1, 10)
}
三、二维数组
1)内容
2)初始化
arr:=[2][3]int{{1,2,3},{4,5,6}}
arr1:=[...][3]int{{1,2,3},{4,5,6}}
var arr2 [2][3]int=[2][3]int{{1,2,3},{4,5,6}}
var arr3 [2][3]int=[...][3]int{{1,2,3},{4,5,6}}
3)遍历
arr:=[2][3]int{{1,2,3},{4,5,6}}
for i:=0;i<len(arr);i++{
for j:=0;j<len(arr[i]);j++{
fmt.Printf("%v\t",arr[i][j])
}
fmt.Println()
}
for i,v:=range arr{
for i1,v1:=range v{
fmt.Printf("arr[%v][%v]=%v",i,i1,v1)
}
}
总结
本文仅仅简单介绍了Golang排序和查找以及二维数组,此篇是通过b站尚硅谷Golang视频的学习做的笔记。