int p_reverse(struct node *t, int h)
{
  struct node *tmp;
  if(t == NULL || h == 0)
    return 0;
  tmp = t->left;
  t->left = t->right;
  t->right = tmp;
  p_reverse(t->left, h-1);
  p_reverse(t->right, h-1);
  return(0);
}
int reverse(struct node *t)
{
  if(t == NULL)
    return (-1);
  int h = height(t);
  p_reverse(t, h);
  return (0);
}
Exemplo n.º 3
0
/*
 * add another match to the list.
 */
local void
add_match(int level, Path where, Natural ncases, Natural c_index)
{
	m_end->level = level;
	m_end->where = p_save(p_reverse(where));
	m_end->ncases = ncases;
	m_end->index = c_index;
	m_end++;
}
Exemplo n.º 4
0
int main(int argc, char *argv[]) {
	int val = 9;
	char str[]={"knuj"};
	printf("Print numbers in reverse order using recursion  input %d(default)",val);
	p_reverse(val);
	printf("Reverse of : %s is : ",str);
	reverseString(str);
	printf("\n");
	return (0);
}
Exemplo n.º 5
0
void p_reverse( int val) {
	if(val == 0)
		return;
	 printf("%d ",val);
	 p_reverse(val-1);
}