希尔排序-模板
2024-09-06 09:38:59
发布于:广东
模板
I
I
v
void InsertionSort(vector<int>& a,int g){
for(int i=g;i<a.size();i++){
int insert=a[i],j=i-g;
while(j>=0&&a[j]>insert){
a[j+g]=a[j];
j-=g;
}
a[j+g]=insert;
}
}
void ShellSort(){
int n,h;
cin>>n;
vector<int>a(n),g;
for(int i=0;i<n;i++){
cin>>a[i];
}
while(h<=n){
g.push_back(h);
h=3*h+1;
}
for(int i=g.size()-1;i>=0;i--){
INsertionSort(a,g[i]);
}
for(int i=0;i<a.size();i++){
cout<<a[i]<<" ";
}
}
全部评论 4
InsertionSort INsertionSort这个也错了
2024-08-04 来自 上海
0打错亿点点请多包容
2024-08-04 来自 广东
0
恩人啊
2024-08-04 来自 上海
0举手之劳罢了
2024-08-04 来自 广东
0明天更 X02,X03day4
2024-08-04 来自 广东
0本人X03 day4
2024-08-04 来自 上海
0
谢谢泥
2024-08-04 来自 上海
0No thanks
2024-08-04 来自 广东
0
int sert=a[i],j=i-g;应该是insert吧
2024-08-04 来自 上海
0你好
2024-08-04 来自 上海
0hi
2024-08-04 来自 广东
0sorry
2024-08-04 来自 广东
0
有帮助,赞一个