冒泡排序也是最簡單最基礎的排序算法之一了,每次遍歷時,它都會從前往後依次的比較相鄰兩個數的大小;如果前者比後者大(小),則交換它們的位置。這樣,一次遍歷之後,最大的元素就在數列的末尾,採用相同的方法再次遍歷時,第二大的元素就被排列在最大元素之前。重複此操作,直到整個數列都有序爲止。
核心代碼如下:
void BubbleSort(vector<int> &Input)
{
int size = Input.size();
for (int i = 0; i < size-1; i++)
{
for (int j = 0; j < size - i-1; j++)
{
if (Input[j] < Input[j + 1])
{
int temp = Input[j];
Input[j] = Input[j + 1];
Input[j + 1] = temp;
}
}
}
}