Go语言之冒泡排序算法和二分查找算法
Posted 程序彤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言之冒泡排序算法和二分查找算法相关的知识,希望对你有一定的参考价值。
Go语言之冒泡排序
package main
import(
"fmt"
)
func main(){
var arr [5]int = [5]int{24,69,57,80,13}
bubbleSort(&arr)
fmt.Println(arr)
}
func bubbleSort(arr *[5]int){
// fmt.Println(*arr) // 这里必须加*,代表取地址的值
for i:=0;i<4;i++{
for j:=0;j<4-i;j++{
if (*arr)[j] > (*arr)[j+1]{
temp := (*arr)[j]
(*arr)[j] = (*arr)[j+1]
(*arr)[j+1] = temp
}
}
}
}
Go语言之二分查找
package main
import(
"fmt"
)
func main(){
var arr1 [5]int = [5]int{1,3,5,7,9}
binarySearch(&arr1,0,len(arr1)-1,8)
}
func binarySearch(arr *[5]int,left int,right int,x int){
midIndex := (left+right)/2
if left>right{
fmt.Println("找不到该数")
return
}
if((*arr)[midIndex] > x){
binarySearch(arr,left,midIndex-1,x)
}else if((*arr)[midIndex] < x){
binarySearch(arr,midIndex+1,right,x)
}else{
fmt.Println("找到了该值:",x,"下标为:",midIndex)
}
}
以上是关于Go语言之冒泡排序算法和二分查找算法的主要内容,如果未能解决你的问题,请参考以下文章
Java八股文面试题 基础篇 -- 二分查找算法冒泡排序选择排序插入排序希尔排序快速排序