public static void BubbleSort(int[] array) { for (int i = 1; i < array.Length; i++) { for (int j = array.Length-1; j >= i; j--) { if (array[j]<array[j-1]) { int temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; } } } } static void Main(string[] args) { int[] array = { 49, 38, 65, 97, 76, 13, 27, 0, 34 }; BubbleSort(array); foreach (int item in array) { Console.Write(item+","); } }
性能优化版
public static void BubbleSort(int[] array) { bool flag = true; for (int i = 1; i < array.Length && flag; i++) { flag = false;//初始化为false,默认为有序了。但是如果下面的代码执行了,就会置为true for (int j = array.Length-1; j >= i; j--) { if (array[j]<array[j-1]) { int temp = array[j]; array[j] = array[j - 1]; array[j - 1] = temp; flag = true;//有交换,则设为true } } } } static void Main(string[] args) { int[] array = { 49, 38, 65, 97, 76, 13, 27, 0, 34 }; BubbleSort(array); foreach (int item in array) { Console.Write(item+","); } }