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(inti=0;i<scores.Length-1;i++)//控制比较趟数,这个循环控制趟数{for(intj=0;j<scores.Length-i-1;j++)//控制每趟比较的次数{if(scores[j] < scores[j +1])//比较每趟里的元素大小{inttemp =scores[j];
scores[j]= scores[j +1];
scores[j+1] =temp;
}
}
}foreach(intkinscores)
{
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/