所谓冒泡排序就是指:将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。
int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
第一趟比较:8 7 6 5 4 3 2 1 0 9 交换了9次 i=0 j=nums.Length-1-i
第二趟比较:7 6 5 4 3 2 1 0 8 9 交换了8次 i=1 j=nums.Length-1-i
第三趟比较:6 5 4 3 2 1 0 7 8 9 交换了7次 i=2 j=nums.Length-1-i
第四趟比较:5 4 3 2 1 0 6 7 8 9 交换了6次 i=3 j=nums.Length-1-i
第五趟比较:4 3 2 1 0 5 6 7 8 9 交换了5次 依次类推
第六趟比较:3 2 1 0 4 5 6 7 8 9 交换了4次 。。。
第七趟比较:2 1 0 3 4 5 6 7 8 9 交换了3次 。。。
第八趟比较:1 0 2 3 4 5 6 7 8 9 交换了2次 。。。
第九趟比较:0 1 2 3 4 5 6 7 8 9 交换了1次 i=8 j=nums.Length-1-i
/// <summary>
/// 冒泡排序
/// </summary>
/// <param name="Arr"></param>
public static void BubbleSort(int[] arr)
{
for (int i = 0; i < arr.Length-1; i++)
{
for (int j = 0; j < arr.Length-1-i; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
排序结果是:0,1,2,3,4,5,6,7,8,9