推免複習之數據結構與算法 希爾排序

具體思路看這篇博文,寫得比我好多啦!我可懶得畫這老些圖 :)

https://www.cnblogs.com/wanglei5205/p/8727377.html

核心代碼如下:

void ShellSort(vector<int> &Input)
{
	int size = Input.size();
	int gap = size / 2;
	for (; gap > 0; gap /= 2)
	{
		for (int i = gap; i < size; i++)
		{
			int j = i;
			while (j-gap>=0&&Input[j-gap]>Input[j])
			{
				int temp = Input[j];
				Input[j] = Input[j - gap];
				Input[j - gap] = temp;
				j -= gap;
			}
		}
	}
}

 

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