推免複習之數據結構與算法 冒泡排序

冒泡排序也是最簡單最基礎的排序算法之一了,每次遍歷時,它都會從前往後依次的比較相鄰兩個數的大小;如果前者比後者大(小),則交換它們的位置。這樣,一次遍歷之後,最大的元素就在數列的末尾,採用相同的方法再次遍歷時,第二大的元素就被排列在最大元素之前。重複此操作,直到整個數列都有序爲止。

核心代碼如下:

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;
			}
		}
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章