网站首页 > 基础教程 正文
大家好,今天我给大家示例顺便讲解一个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 正确复制、重写别人的代码,不算抄袭
- 05-24php实现三方支付的方法有哪些?
- 05-24CosmicSting 漏洞影响 75% 的 Adobe Commerce 和 Magento 网站
- 05-24Java接口默认方法的奇妙用途
- 05-24抽象类和接口
- 05-24详解Java抽象类和接口
- 05-24拒绝接口裸奔!开放API接口签名验证
- 05-24每天学Java!Java中的接口有什么作用
- 05-24Java:在Java中使用私有接口方法
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)