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