golang 入门 之 冒泡排序和二分查找

58 阅读1分钟
func bubbleSort(sliceArray *[9]int) {
	count := 0
	for i := 0; i < len(sliceArray)-1; i++ {
		for j := 0; j < len(sliceArray)-i-1; j++ {
			if sliceArray[j] > sliceArray[j+1] {
				sliceArray[j], sliceArray[j+1] = sliceArray[j+1], sliceArray[j]
			}
		}
		count++

	}

	fmt.Print("排序前的sliceArray=", *sliceArray)
	fmt.Print("count=", count)

}
func binarySearch(arr *[6]int, leftIndex int, rightIndex int, findVal int) {

	if leftIndex > rightIndex {
		return

	}
	middleIndex := (leftIndex + rightIndex) / 2

	if arr[middleIndex] > findVal {
		//    查找的数在左边
		binarySearch(arr, leftIndex, middleIndex-1, findVal)
	} else if arr[middleIndex] < findVal {
		binarySearch(arr, middleIndex+1, rightIndex, findVal)
	} else {
		//找到了
		fmt.Println("找到了=", arr[middleIndex])
	}
}