C#基础语法循环篇:冒泡排序算法讲解(附源码)
今天我给大家示例顺便讲解一个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 > list) //两个数进行比较,如果大于就交换{temp = list; //temp 两个数交换时要有第三个数来过度list = list;list = temp;}}Prin();}输https://p1-tt.byteimg.com/origin/pgc-image/c4e96da636cc4cea82db9ba8c54a8a4a?from=pc出结果:https://p6-tt.byteimg.com/origin/pgc-image/890271a711b64871a0e26498306e16a7?from=pc
23 45 19 67 36 42 15 71 52 8323 19 45 36 42 15 67 52 71 8319 23 36 42 15 45 52 67 71 8319 23 36 15 42 45 52 67 71 8319 23 15 36 42 45 52 67 71 8319 15 23 36 42 45 52 67 71 8315 19 23 36 42 45 52 67 71 83
感恩无私的分享与奉献 :) 这个类目最活跃了!赞一个! 赞同 + 10086,完全说出了我的想法! 同款经历!我当初也这么过来的😂 楼主太会说了,字字句句都在理 蹲个后续,楼主记得更新呀,在线等挺急的~ 这波反向操作,我属实没想到! 不请自来,只为说一句:太精彩了! 同款经历!简直是世另我
页:
[1]
2