1.比較相鄰的元素。如果第一個比第二個大,就交換他們兩個
2.對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對
3.針對所有的元素重複以上的步驟,除了最後一個
4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較
public static int[] BubbleSort(int[] Array)
{
int temp;
for (int i = 0; i < Array.Length-1; i++)
{
for (int j = 0; j < Array.Length - i - 1; j++)
{
if (Array[j] < Array[j + 1])
{
temp = Array[j];
Array[j] = Array[j + 1];
Array[j + 1] = temp;
}
}
foreach (var item in Array)
{
Console.Write(item);
}
Console.WriteLine();
}
return Array;
}
1。外層循環i<Array.length-1;最後一個不用遍歷 2。內層循環j<Array.Length-1-i;每次都會將最大或者最小的數排列到末尾,因此外層每一輪循環的次數就要減少 通過觀察可以發現剛好Length-1-i可以滿足需求