当前位置: 首页 > article >正文

冒泡排序和二分查找--go

冒泡排序的逻辑
在这里插入图片描述
二分查找的逻辑
在这里插入图片描述

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)
	}
}

http://www.kler.cn/news/368781.html

相关文章:

  • 从零开始机器学习——基于PyTorch构建你的第一个线性回归模型
  • iOS静态库(.a)及资源文件的生成与使用详解(OC版本)
  • Python 3.13 的改进
  • 【jvm】堆的内部结构
  • 图---java---黑马
  • Linux基础知识作业
  • 报错解决:opene3d draw_geometries(): incompatible function arguments.
  • 智能工厂的设计软件 意识能力(被动综合/主动把握/折衷解决):意识形态及认知计算机科学的架构、系统和运用
  • Linux学习_7
  • C++学习路线(二十六)
  • Mysql 数据库架构
  • 每天五分钟深度学习框架pytorch:从底层搭建多项式线性回归模型
  • 云原生后端(Cloud-Native Backend)
  • 【Web开发】什么是Nuxt? 利用Nuxt快速搭建前端项目
  • R语言笔记(二):向量
  • MySQL之数据库设计
  • ReactNative0.76版本发布,默认开启新架构
  • 【K8S系列】Kubernetes Service 基础知识 详细介绍
  • java和嵌入式现在哪个好?
  • 【深入理解SpringCloud微服务】Sentinel实战与原理剖析
  • 重修设计模式-行为型-迭代器模式
  • 了解光耦合器输入输出关系---腾恩科技
  • 区块链国赛题目--食品溯源(模块三)
  • 租房管理智能化:Spring Boot系统开发指南
  • VMware16去虚拟化 过CF 理论过TX游戏 WIN10过检测虚拟机
  • 微信小程序SSL证书怎么选择?