Árbol binario de tipo C – extendiéndolo

Necesito ayuda en C

Ayúdame a extender la clasificación del árbol binario en C. Necesito devolver una matriz ordenada en la función de clasificación .

aquí está:

#include  #include  struct btreenode { struct btreenode *leftchild ; int data ; struct btreenode *rightchild ; } ; void insert ( struct btreenode **, int ) ; void inorder ( struct btreenode * ) ; int* sort(int *array, int arr_size) { struct btreenode *bt ; int i; bt = NULL; for ( i = 0 ; i  leftchild = NULL ; ( *sr ) -> data = num ; ( *sr ) -> rightchild = NULL ; } else { if ( num  data ) insert ( &( ( *sr ) -> leftchild ), num ) ; else insert ( &( ( *sr ) -> rightchild ), num ) ; } } void inorder ( struct btreenode *sr ) { if ( sr != NULL ) { inorder ( sr -> leftchild ) ; //printf ( "%d\t", sr -> data ) ; inorder ( sr -> rightchild ) ; } } 

La matriz ordenada en función inorder se puede imprimir como sr -> datos. muchas gracias.

una muestra para modificar como como

 void inorder ( struct btreenode *, int ** ) ; int* sort(int *array, int arr_size) { struct btreenode *bt = NULL; int i, *p = array; for ( i = 0 ; i < arr_size ; i++ ) insert ( &bt, array[i] ) ; inorder ( bt, &p) ; //deallocate tree return array; } void inorder ( struct btreenode *sr, int **array) { if ( sr != NULL ) { inorder ( sr -> leftchild, array) ; **array = sr -> data ; ++*array; inorder ( sr -> rightchild, array) ; } }