Exemplo n.º 1
0
int main(int argc, char *argv[])
{
	SLinkList space;
	InitSpace_SL(space);
	
	//PrintSpace_SL(space);

	difference(space, 20);

	PrintSpace_SL(space);

	return 0;
}
Exemplo n.º 2
0
void difference(SLinkList space, int s)
{
	InitSpace_SL(space);
	s = Malloc_SL(space);
	
	int r = s;
	int m = 5;
	int n = 3;

	int i, j, b, p, k;
	for(j=1; j<=m; ++j)
	{
		i = Malloc_SL(space);
		space[i].data = j;
		space[r].cur = i;
		r = i;
	}
	space[r].cur = 0;

	for(j=1; j<=n; ++j)
	{
		b = j;
		p = s;
		k = space[s].cur;
		while(k != space[r].cur && space[k].data != b)
		{
			p = k;
			k = space[k].cur;
		}

		if(k == space[r].cur)
		{
			i = Malloc_SL(space);
			space[i].data = b;
			space[i].cur = space[r].cur;
			space[r].cur = i;
		}
		else
		{
			space[p].cur = space[k].cur;
			Free_SL(space, k);
			if(r == k)
				r = p;
		}
	}
}
Exemplo n.º 3
0
 void InitSpace_SL( void )
{
	InitSpace_SL(g_slink_list);
}