Exemplo n.º 1
0
void lis_sortr_ii(LIS_INT is, LIS_INT ie, LIS_INT *i1, LIS_INT *i2)
{
  LIS_INT i,j;
  LIS_INT p,t1,t2;
  LIS_INT v;

  if( ie <= is ) return;

  p = (is+ie)/2;
  v = i1[p];
  lis_swap(i1[p],i1[ie],t1);
  lis_swap(i2[p],i2[ie],t2);

  i = is; j = ie;
  while(i<=j)
  {
    while(i1[i] > v) { i++; }
    while(i1[j] < v) { j--; }
    if( i<=j )
    {
      lis_swap(i1[i],i1[j],t1);
      lis_swap(i2[i],i2[j],t2);
      i++; j--;
    }
  }
  lis_sortr_ii(is,j ,i1,i2);
  lis_sortr_ii(i ,ie,i1,i2);
}
Exemplo n.º 2
0
void lis_sortr_ii(int is, int ie, int *i1, int *i2)
{
	int i,j;
	int p,t1,t2;
	int v;

	if( ie <= is ) return;

	p = (is+ie)/2;
	v = i1[p];
	lis_swap(i1[p],i1[ie],t1);
	lis_swap(i2[p],i2[ie],t2);

	i = is; j = ie;
	while(i<=j)
	{
		while(i1[i] > v) { i++; }
		while(i1[j] < v) { j--; }
		if( i<=j )
		{
			lis_swap(i1[i],i1[j],t1);
			lis_swap(i2[i],i2[j],t2);
			i++; j--;
		}
	}
	lis_sortr_ii(is,j ,i1,i2);
	lis_sortr_ii(i ,ie,i1,i2);
}