Add 希尔排序

master
pn43tqvrm 4 years ago
parent 8d80276fd8
commit 2bda94bd12

@ -0,0 +1,35 @@
//希尔排序
void shellSort(vector<int>v)
{
cout << "希尔排序,升序:" << endl;
int gap = v.size();
while (gap != 1)
{
gap = gap / 3 + 1;
for (int i = gap; i <v.size (); ++i)
{
int temp = v[i];
int j = i - gap;
for (; j >= 0; j -= gap)
{
if (v[j] > temp)
{
v[j + gap] = v[j];
}
else
{
break;
}
}
v[j + gap] = temp;
}
}
printVector(v);
}
//复杂度说明时间复杂度为O(n^1.5)
Loading…
Cancel
Save