示例#1
0
文件: 299.c 项目: wgjak47/ACM-UVA
main()
{
	long long  n,m,i,j,k;
	scanf("%lld",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%lld",&m);
		for (j=0;j<m;j++)
			scanf("%lld",&a[j]);
		k=swaper(a,m);
		printf("Optimal train swapping takes %lld swaps.\n",k);
	}
	return 0;
}
示例#2
0
void sort(void *base, size_t count, size_t width, int (*cmp)(const void *, const void *))
{
	size_t  i, k;
	char *cbase = (char *)base;
	char *pc1, *pc2;

	for (i = 0; i < count - 1; ++i)
		for (k = 0; k < count - 1 - i; ++k) {
			pc1 = cbase + k * width;
			pc2 = cbase + (k + 1) * width;

			if (cmp(pc1, pc2) > 0) 
				swaper(pc1, pc2, width);
		}
}