网站首页 > 基础教程 正文
大家好,今天我给大家示例顺便讲解一个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
- 上一篇: 初中生也能学的编程,不走弯路,先用后学
- 下一篇: C# 数据结构和算法 :06 字典和集合(二)
猜你喜欢
- 2024-12-29 C#异步编程之Task的使用 c#异步处理
- 2024-12-29 「详解」源代码自动格式化工具:Artistic Style
- 2024-12-29 C# using用法 c# using语句
- 2024-12-29 MDK中使用AStyle插件对代码进行格式化处理
- 2024-12-29 c#中使用miniExcel和fastreport实现付款审批单的批量打印
- 2024-12-29 程序员必练六项目:从数据结构到操作系统,计算机教授为你画重点
- 2024-12-29 C#上位机开发入门(3) c#上位机需要学什么
- 2024-12-29 C#06(从控制台输入与类型转换) c#从控制台输入数据
- 2024-12-29 C#-循环数组结构体知识补充 055 c#用循环结构计算1+2+3+4+5+6...+100
- 2024-12-29 正确复制、重写别人的代码,不算抄袭
- 01-09Oracle数据库面试题汇总
- 01-09Oracle AWR解析-Report Summary
- 01-09想要成为数据分析师,这些Excel必备知识点你得掌握
- 01-09java开发中常用Oracle函数实例总结比较,当真不少
- 01-09DriveWorks其实是这么回事
- 01-09EXCEL做数据分析,学会这些就入门了
- 01-09一场pandas与SQL的巅峰大战(六)
- 01-09Oracle数据库知识 day01 Oracle介绍和增删改查
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)