希尔排序求助
查看原帖
希尔排序求助
690333
qinghaipeng楼主2023/9/2 19:18
#include <iostream>
#include <cstdio>
#define F(i,j,n) for(register int i=j;i<=n;++i)
using namespace std;
int n;
const int N=1e5+10;
int a[N];
void shellSort() {
    for (int gap = n >>1; gap > 0; gap >>=1) {
        for (int i = gap; i < n; ++i) {
            int temp = a[i];
            int j;
            for (j = i; j >= gap && a[j - gap] > temp; j -= gap) {
                a[j] = a[j - gap];
            }
            a[j] = temp;
        }
    }
}
int main() {
	cin>>n;
	F(i,1,n)scanf("%d",&a[i]);
    shellSort();
    F(i,1,n){
        cout << a[i] << " ";
    }
    return 0;
}

有的aC,有的Wa

2023/9/2 19:18
加载中...