Nhờ mọi người góp ý cho code shellsort

  #include <stdio.h>
void nhapmang(int a[], int n)
{
	for(int i=0;i<n;i++)
	{
		printf("Nhap gia tri A[%d]: ",i);
		scanf("%d",&a[i]);
	}
}
void xuatmang(int a[], int n)
{
	for(int i=0;i<n;i++)
	{
		printf("%d\t",a[i]);
	}
}
void swap(int &a, int &b)
{
	int t=a;
	a=b;
	b=t;
}
void sapxep(int a[], int n)
{
	int k=n/2;
	while(k>=1)
	{
		for(int i=0;i+k<n;i++)
		{
			if(a[i]>a[i+k])
			{
				swap(a[i],a[i+k]);
				for(int xd=i;xd-k>=0;xd=xd-k)
				{
					if(a[xd]<a[xd-k])
					{
						swap(a[xd],a[xd-k]);
					}
				}
			}
		}
		k=k/2;
	}
}
int main()
{
	int n;
	printf("Nhap so phan tu cua mang: ");
	scanf("%d",&n);
	int a[n];
	nhapmang(a,n);
	xuatmang(a,n);
	sapxep(a,n);
	printf("\n");
	xuatmang(a,n);
		
	
	
	
	return 0;
}

Mình tự viết sau khi xem cái video thấy nó lủng củng xin cho chút ý kiến

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?