----------------------
Windows Phone 7手機開發、.Net培訓、期待與您交流! ----------------------
排序規則:從大到小排序,進行兩兩比較
原始數據7個元素
原始數據7個元素:
10,20,30,40,50,60,70
先10與20比較10>20不成立 交換
20,10,30,40,50,60,70
然後第二個元素20與第三個元素30比較,不成立交換位置
……
……
20,30,40,50,60,70,10第1趟 比較了6次
30,40,50,60,70,20,10第2趟 比較了5次
40,50,60,70,30,20,10第3趟 比較了4次
50,60,70,40,30,20,10第4趟 比較了3次
60,70,50,40,30,20,10第5趟 比較了2次
70,60,50,40,30,20,10第6趟 比較了1次
也就是n個數需要排n-1趟
第t趟比較的次數爲:n-t次
7個元素,排7-1=6趟,第1趟比較7-1=6次,第2趟比較7-2=5次……第6趟比較7-6=1次
i=0 第一趟
i=1 第二趟
-->趟數:i+1 t=i+1
For(int j = 0;j<n-(i+1);j++)//控制當第i+1趟是比較的次數
static void Main(string[] args)
{
int[] scores = { 18, 20, 48, 76, 20, 38, 87, 90, 37, 45, 65, 65, 34, 67, 95 };
for (int i = 0; i < scores.Length - 1; i++)//控制比較的趟數
{
for (int j = 0; j < scores.Length - (i + 1); j++)//控制第i+1趟比較的次數
{
if (scores[j] < scores[j + 1])
{
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
for (int i = 0; i < scores.Length; i++)
{
Console.Write(scores[i] + ",");
}
Console.WriteLine();
Console.WriteLine("數組長度爲:"+scores.Length);
Console.ReadKey();
---------------------- Windows Phone 7手機開發、.Net培訓、期待與您交流! ----------------------