#include <iostream>
#include <vector>
using namespace std;
template<class T,class size>
void shellSort(T &arr, size &size) {
size = size / 2;
if (size < 1) return;
for (int i = size; i < arr.size(); i++) {
for (int j = i - size; j >= 0; j -= size) {
if (arr[j+size] < arr[j]) {
auto temp = arr[j];
arr[j] = arr[j + size];
arr[j + size] = temp;
}
}
}
shellSort(arr,size);
}
int main() {
vector<int> arr{ 1,2,21,35,5,7,7 };
int a = arr.size();
shellSort(arr, a);
for (auto i = arr.begin(); i != arr.end(); i++) {
cout << *i << " ";
}
cout << endl;
system("pause");
return 0;
}
希尔排序
最新推荐文章于 2024-09-22 20:09:34 发布