双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

Go语言的冒泡排序(附:深拷贝与浅拷贝)

寅恪光潜 寅恪光潜 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

冒泡排序算是大家学习算法的入门第一课了,很好理解,类似湖面看到的水泡,因为体积轻,然后就慢慢往上浮上来

比如数组[33, 8, 12, 7, 6],我们在第一轮比较之后,会发现最大数沉底了,到了最后,第二轮比较之后,第二大的数字也沉到倒数第二的位置了,相反的小的就慢慢的浮上来了。

[8 12 7 6 33]

[8 7 6 12 33]

[7 6 8 12 33]

[6 7 8 12 33]

 5个数字经过4轮之后,排序就做好了,那代码就很简单了,两个for循环,外循环就是0到4,内循环就是随着每一轮递减一次循环即可,因为每一轮已经将大的数字放到后面了,就不需要再次比较了。

代码:

package main

import "fmt"

func bubbleSort(arr []int) []int {
	len := len(arr) - 1
	for i := 0; i < len; i++ {
		for j := 0; j < len-i; j++ {
			//如果比相邻的大就交换位置
			if arr[j] > arr[j+1] {
				arr[j], arr[j+1] = arr[j+1], arr[j]
			}
		}
	}
	return arr
}

func main() {
	arr1 := []int{33, 8, 12, 7, 6}
	arr2 := make([]int, len(arr1))
	copy(arr2, arr1)
	arr3 := bubbleSort(arr2)
	fmt.Printf("%v=>%v\n", arr1, arr3) //[33 8 12 7 6]=>[6 7 8 12 33]
	fmt.Printf("%p,%p", arr1, arr3)    //0xc00000e3f0,0xc00000e420
}

另外为了更清晰的表示前后数组(切片)的变化,使用了copy深拷贝,这种拷贝可以拷贝里面的值,如果是arr2:=arr1这样的赋值,是一种浅拷贝,也就是说拷贝的是引用,是一个地址,共享同一地址,这样你修改了arr1也会修改arr2

...全文

相关推荐

Python自动化数据处理程序-V2

Python自动化数据处理程序-V2

Xiong.Luqiang

外盘期货历史高频tick数据涵盖CME、ICE等交易所的主要品种,包含能源、贵金属、农产品、股指和外汇期货 数据字段有交易日期、精确到毫秒的时间、成交价格、成交量、持仓量以及买卖方向标识 部分品种还提

外盘期货历史高频tick数据涵盖CME、ICE等交易所的主要品种,包含能源、贵金属、农产品、股指和外汇期货。数据字段有交易日期、精确到毫秒的时间、成交价格、成交量、持仓量以及买卖方向标识。部分品种还提供盘口五档或十档挂单数据。所有数据按交易日压缩打包,解压后为CSV格式,便于直接读取分析。 数据源:CMES金融数据库

c_hn_007

印尼语AI应用商店评论情感数据集29198条8款应用

印尼语用户评论情感分析数据集,包含29198条来自印尼区Google Play商店的AI应用评论,覆盖8款主流生成式AI助手:ChatGPT、Google Gemini、DeepSeek、Character.AI、Claude、Microsoft Copilot、Perplexity与Grok。采样采用平衡评分配额策略,防止类别不平衡偏置。文件为UTF-8编码的CSV,提供印尼语与英语双份情感标签:sentiment(1至2星为负面、3星为中性、4至5星为正面)与sentiment_en。适合印尼语文本分类、俚语与非规范文本处理、IndoBERT与IndoRoBERTa等本地Transformer微调、基于方面的情感分析(价格、内容过滤、幻觉、应用稳定性等维度)与技术接受度TAM研究。适用于自然语言处理教学、小语种情感分析与AI产品用户反馈研究。数据许可:MIT。

licy__

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink的三相PWM整流器双闭环控制系统仿真模型的设计与实现,重点融合了虚拟阻抗控制(VOC)策略与空间矢量脉宽调制(SVPWM)技术。通过构建电压外环与电流内环协同工作的双闭环控制结构,有效提升了系统的动态响应速度、运行稳定性和抗干扰能力,实现了单位功率因数整流和直流侧电压的高精度调节。文档系统阐述了控制原理、关键模块搭建流程、SVPWM算法实现机制,并提供了完整的仿真验证过程,充分展示了VOC在改善系统阻尼特性与抑制谐振方面的优势,适用于电力电子变换器的高性能控制研究与工程实践。; 适合人群:电气工程、自动化、新能源等相关专业的本科生、研究生以及从事电力电子与电力系统研发的工程技术人员。; 使用场景及目标:①深入理解PWM整流器双闭环控制机制及其在Simulink中的建模方法;②掌握VOC控制策略与SVPWM调制技术的原理及其实现方式;③应用于课程设计、毕业设计、科研项目中的系统仿真、性能分析与优化设计。; 阅读建议:建议结合Simulink环境边学边练,按照文档步骤逐步搭建模型,重点关注控制器参数整定、坐标变换、PI调节器设计及SVPWM模块逻辑实现,通过仿真结果对比分析验证控制策略的有效性与鲁棒性。

优化算法侠_科研

北师大英语词汇练习助手练习版-win通用

最适合白板下的英语词汇PK工具 【百度网盘APP】北师大版英语词汇助手win10,11版本 3MB 链接:https://pan.baidu.com/s/1VO6vXt-ICCh-kAPstX8LcA  提取码:chen 【百度网盘】北师大版英语词汇助手 win 7,8,10,11可通用 60MB 链接:https://pan.baidu.com/s/15z5YN5GvvAZERqhitQcu1g  提取码:chen

chenxz_76
评论
收藏 已收藏
分享
返回顶部
寅恪光潜
寅恪光潜 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
Go语言基础与进阶--寅恪光潜 200 成员 136 内容