冒泡排序的逻辑
二分查找的逻辑
func bubbleSort(arr *[5]int){
//冒泡排序
fmt.Println(*arr)
temp := 0
for j := len(*arr); j > 0; j-- {
for i := 0; i < j-1; i++ {
temp = (*arr)[i]
if((*arr)[i] > (*arr)[i+1]){
(*arr)[i] = (*arr)[i+1]
(*arr)[i+1] = temp
}
}
}
}
func binaryFind(arr *[6]int,left int,right int,findVal int){
// 二分查找,前提是arr是有序的数组,否则无法使用二分查找法
middle := (left + right) / 2
if(left > right || right < left){
fmt.Println("找不到")
return
}
if (*arr)[middle] > findVal {
binaryFind(arr,left,middle-1,findVal)
}
if(*arr)[middle] < findVal {
binaryFind(arr,middle+1,right,findVal)
}
if(*arr)[middle] == findVal {
fmt.Printf("找到了,再数组中的下表是%v",middle)
}
}