提示:


一、冒泡排序

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视频的学习做的笔记。