算法(第4版) C++ 实现希尔排序(简易版)
Posted Wecccccccc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法(第4版) C++ 实现希尔排序(简易版)相关的知识,希望对你有一定的参考价值。
#include <iostream>
using namespace std;
void shellsort(int *a,int n)
{
int h = 1;
while (h < n / 3) h = 3 * h + 1;
while (h >= 1)
{
for (int i = h;i<n;i++)
for (int j = i; j >= h && a[j] < a[j - h]; j -= h)
{
int t = a[j];
a[j] = a[j - h];
a[j - h] = t;
}
h = h / 3;
}
}
int main()
{
int a[] = { 12,42,34,21,53,52,4,523,4,213,124,2,412,3214,124,124,12 };
shellsort(a, 17);
for (int i = 0; i < 17; i++) cout << a[i] << " ";
cout << endl;
return 0;
}
测试结果:
以上是关于算法(第4版) C++ 实现希尔排序(简易版)的主要内容,如果未能解决你的问题,请参考以下文章