排序算法之冒泡排序法
冒泡排序(BubbleSort)的基本思想是:依次比较相邻的两个数,把小数放前面,大数放后面。在此,处理的方法是从一组无序的数据底部自底向上扫描依次比较相邻的两个数据。
1、排序方法
(1)初始
A[1...n]为待排序的无序数组
(2)第一趟扫描
从无序数组数组底部自底向上扫描,依次比较相邻两个数据,若大数在前,小数在后,则交换两者的位置。即依次比较
{(A[n-1,A[n-2]]),(A[n-2],A[n-3]),......(A[3],A[2]),(A[2],A[1])}
经过第一次排序之后,最小的数就排到了最上面了
(3)第二趟扫描
扫描A[2,n]的区域,扫描后,第二小的数就排到了第二的位置。
...
经过k次扫描之后,A[0,k-1]就是有序的区域,而A[k,n-1]是待扫描的无序区域。
2、排序算法
冒泡排序
/// <summary>
/// Sort the data by BubbleSort
/// </summary>
/// <param name="array">The dadas you want to resort</param>
private void BubbleSort(int[] array)
{
int length = array.Length;
for (int i = 0; i <= length - 1; i++)//The maxinum times of sorting is [n-1]
{
for (int j = length - 1; j >= i; j--)//Scan the range array[i,n]
{
if (array[j] < array[j - 1])
{
//Change the sequence of array[j] and array[j-1]
int temp = A[j];
A[j] = A[j - 1];
A[j - 1] = temp;
}
}
}
}
经过上述排序之后,冒泡排序就完成了!


浙公网安备 33010602011771号