#include <iostream>
using namespace std;
void shell_sort(int alist[], int n){
int gap = n / 2;
while (gap > 0) {
for (int i = gap; i < n; i++) {
for (int j = i; j>0; j-= gap) {
if (alist[j] < alist[j-1]) {
int temp = alist[j];
alist[j] = alist[j-1];
alist[j-1] = temp;
}
else break;
}
}
gap /= 2;
}
}
int main()
{
int list[11] = {2, 1, 4, 3, 11, 6, 5, 7, 8, 10, 15};
shell_sort(list, 11);
for(auto it: list)
{
cout<<it<<' ';
}
}
C++ 排序算法——希尔排序。
最新推荐文章于 2024-08-12 16:55:46 发布