找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2126|回复: 15

C#基础语法循环篇:冒泡排序算法讲解(附源码)

 火.. [复制链接]
  • 打卡等级:常驻代表
  • 打卡总天数:34
  • 打卡月天数:6
  • 打卡总奖励:9027
  • 最近打卡:2025-12-17 23:15:51

2823

主题

541

回帖

2万

积分

管理员

积分
22569
发表于 2021-3-28 15:27:18 | 显示全部楼层 |阅读模式
今天我给大家示例顺便讲解一个C#里面的经典的循环算法之冒泡排序,可供一些初级C#或者Java程序员参考学习。
其原理:比较相邻的两个元素,每次比较完毕最大的一个数字排到本来的结尾
目的:按照从小到大的排序方式。
先预设已知数组一份:23, 67, 45, 19, 83, 36, 42, 15, 71, 52
第一轮比较相邻两个元素,如果左边元素大于右边元素,则两两交换。
比如71和52比较的结果就是,52在前,71在后;
然后71和67比较的结果,67在前,71在后;
以此类推,第一轮比较之后的结果是:23, 45, 19, 67, 36, 42, 15, 71, 52, 83
经过第一轮比较,最大的元素跑到了最后一个,所以第二轮比较,最后一个元素不需要进行比较了。
第二轮还是从索引0和1开始比较,只是不需要比较最后一个了,算法还是一样的。第三轮、第四轮以此类推。
排序之后的结果为:15, 19, 23, 36, 42, 45, 52, 67, 71, 83
核心代码如下:
for (int i = list.Count; i > 0; i--)//外层 循环比较遍数
{
for (int j = 0; j < i - 1; j++)
{
// 大于号就是从小到大排序,小于号就是从大到小排序
if (list[j] > list[j + 1]) //两个数进行比较,如果大于就交换
{
temp = list[j]; //temp 两个数交换时要有第三个数来过度
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
Prin();
}

出结果:

23 45 19 67 36 42 15 71 52 83
23 19 45 36 42 15 67 52 71 83
19 23 36 42 15 45 52 67 71 83
19 23 36 15 42 45 52 67 71 83
19 23 15 36 42 45 52 67 71 83
19 15 23 36 42 45 52 67 71 83
15 19 23 36 42 45 52 67 71 83

工控课堂 www.gkket.com

7

主题

445

回帖

2446

积分

高级会员

积分
2446
发表于 2021-3-28 15:27:18 | 显示全部楼层
感恩无私的分享与奉献
工控课堂 www.gkket.com

0

主题

83

回帖

309

积分

注册会员

积分
309
发表于 2021-3-30 01:49:49 | 显示全部楼层
这个类目最活跃了!赞一个!
工控课堂 www.gkket.com

0

主题

73

回帖

117

积分

新手上路

积分
117
发表于 2025-11-13 04:05:47 | 显示全部楼层
赞同 + 10086,完全说出了我的想法!
工控课堂 www.gkket.com

0

主题

107

回帖

162

积分

新手上路

积分
162
发表于 2025-11-13 04:19:55 | 显示全部楼层
同款经历!我当初也这么过来的😂
工控课堂 www.gkket.com

0

主题

90

回帖

152

积分

新手上路

积分
152
发表于 2025-11-13 04:23:41 | 显示全部楼层
楼主太会说了,字字句句都在理
工控课堂 www.gkket.com

0

主题

113

回帖

340

积分

注册会员

积分
340
发表于 2025-11-13 04:29:26 | 显示全部楼层
蹲个后续,楼主记得更新呀,在线等挺急的~
工控课堂 www.gkket.com

0

主题

103

回帖

158

积分

新手上路

积分
158
发表于 2025-11-13 08:24:47 | 显示全部楼层
这波反向操作,我属实没想到!
工控课堂 www.gkket.com

0

主题

85

回帖

126

积分

新手上路

积分
126
发表于 2025-11-13 09:20:56 | 显示全部楼层
不请自来,只为说一句:太精彩了!
工控课堂 www.gkket.com

0

主题

211

回帖

547

积分

中级会员

积分
547
发表于 2025-11-13 09:38:03 | 显示全部楼层
同款经历!简直是世另我
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 13:32 , Processed in 0.081168 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表