注:数组是从arr[1]开始排序
#includeusing namespace std; void ShellInsert(int arr[],int n){ for(int gap = (n+1)/2;gap>0;gap/=2){ for(int i=gap;i<=n;i++){ int j = i; while(j-gap>0&&arr[j] >n; int arr[n+1]; for(int i=1;i<=n;i++){ cin>>arr[i]; } ShellInsert(arr,n); printArray(arr,n); return 0; }



