Golang面试综合考题——一个程序涵盖随机数,冒泡排序,二分查找 三个知识点

这篇博客介绍了如何在Golang面试中运用随机数生成、冒泡排序算法以及二分查找技巧。通过编写程序,从1到100之间随机生成n个整数,然后进行冒泡排序确保数值从小到大排列,并利用二分查找法搜索90的下标,若未找到则输出找不到提示。
摘要由CSDN通过智能技术生成

1~100之间随机生成n个整数,使用冒泡由小到大排序,使用二分查找是否存在90并显示下标,如果没有提示找不到。

package main
import (
	"fmt"
	"math/rand"
	"time"
)
func arrayCreate(n int) []int {

	var arr = make([]int,n)
	rand.Seed(time.Now().UnixNano())
	for i := 0 ; i < len(arr) ; i++ {
		arr[i] = rand.Intn(100)
	}
	return arr
}

func bubbleSwap(array1 []int) []int {
	temp := 0
	for i := 0 ; i < len(array1) - 1 ; i++ {
		for j := 0 ; j < len(array1) - 1 -i ; j++ {
			if array1[j] > array1[j+1] {
				temp = array1[j]
				array1[j] = array1[j+1]
				array1[j+1] = temp
			}
		}
	}
	return array1
}

func twoWayFind(destArray []int,leftin int, rightin int,findVal int) {

	midin := (leftin + rightin) / 2
		if leftin > rightin {
			fmt.Println("查找的内容不存在")
			return
		}
		if (destArray)[midin] > findVal {
			twoWayFind(destArray,leftin,midin - 1,findVal)
		}
		i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值