冒泡排序

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();

 

笔者认为算法可能在实际撸码中不一定都用得上(菜鸟 - -!),但能拓展你的思维面,提升对代码的理解。
 
 

posted on 2015-07-08 17:17  哥不寂寞  阅读(463)  评论(4编辑  收藏  举报

导航