算法思想:假设数组元素个数为N,那么经过N-1趟比较即可完成排序;每趟比较使数组中的一个数有序,
在比较过程中只需两两比较尚未排序的数,故第i趟比较的次数为N-i-1;
算法优缺点:优点:算法实现起来比较简单,并且具有稳定性; 缺点:算法效率较低。
算法的C#实现:
/// <summary>
/// 冒泡排序。
/// </summary>
/// <param name="array">待排序数组。</param>
static void bubbleSort(int[] array)
{
for (int i = 0; i < array.Length; i++)
{
for (int j = 0; j < array.Length - i - 1; j++)
{
if (array[j] > array[j + 1])
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
以上实现的是从小到大排序,若要实现从大到小排序,只需将 if (array[j] > array[j + 1])改为
if (array[j] < array[j + 1])。