冒泡排序算法的思想如下:
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.重复步骤1和2,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
 
C#实现:
 1         internal static int[] BubbleSortMethod(int[] inputArray)
 2         {
 3             for (int ensureCount = 0; ensureCount < inputArray.Length - 1; ensureCount++)
 4             {
 5                 for (int compareIndex = 0; compareIndex < inputArray.Length - ensureCount - 1; compareIndex++)
 6                 {
 7                     if (inputArray[compareIndex] > inputArray[compareIndex + 1])
 8                     {
 9                         int temp = inputArray[compareIndex];
10                         inputArray[compareIndex] = inputArray[compareIndex + 1];
11                         inputArray[compareIndex + 1] = temp;
12                     }
13                 }
14             }
15             return inputArray;
16         }


冒泡算法是一种稳定的排序算法。

冒泡排序最好的时间复杂度是,最坏时间复杂度为,平均时间复杂度为