首页 > 学院 > 开发设计 > 正文

冒泡排序

2019-11-14 15:56:36
字体:
来源:转载
供稿:网友
C#排序有N多种,这里贴一下最EASY的冒泡排序
 
冒泡排序:两两比较 ,数组中的 i 个和第 i+1 个比较。
经过N遍的两两比较,数组元素能按照我们预期的规律排序。
 
从大到小排序,我们进行两两比较的时候用小于号 <  
 
1,2,3,4,5,6,7  原始数据 7 个 元素
 
2,3,4,5,6,7,1  第一趟比较6次
 
3,4,5,6,7,2,1  第二趟比较5次
 
4,5,6,7,3,2,1  第三趟比较4次
 
5,6,7,4,3,2,1  第四趟比较3次
 
 6,7,5,4,3,2,1  第五趟比较2次
 
 7,6,5,4,3,2,1  第六趟比较1次
也就是N个数需要走N-1趟
第 t 趟比较的次数是N-t次
如何得出的这个结论呢,这就类似于数学中的等差等比等等数列找公式。
TRY TRY TRY,then u got  it.
 
i=0 第一趟
i=1 第二趟
 
趟数:  t=i+1
实例:
      
     int[] scores = { 15, 26, 10, 67, 77, 123, 100, 123, 2, 70, 65, 544, 100 };                       for(int i=0;i<scores.Length-1;i++) //控制比较趟数,这个循环控制趟数            {                    for(int j=0;j<scores.Length-i-1;j++) //控制每趟比较的次数                    {                        if (scores[j] < scores[j + 1])//比较每趟里的元素大小                        {                            int temp = scores[j];                            scores[j] = scores[j + 1];                            scores[j + 1] = temp;                        }                    }            }            foreach (int k in scores)            {                Console.WriteLine(k);            }            Console.ReadKey();

 

笔者认为算法可能在实际撸码中不一定都用得上(菜鸟 - -!),但能拓展你的思维面,提升对代码的理解。
 
 
八大排序算法:http://blog.csdn.net/hguisu/article/details/7776068
快速排序:http://developer.51cto.com/art/201403/430986.htm
排序算法讲解:http://developer.51cto.com/art/201403/430986.htm
啊哈磊算法教程(这个牛B了):http://ahalei.blog.51cto.com/

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表