Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- //STRUCT
- struct nodoalbero {
- int data;
- struct nodoalbero *leftPtr;
- struct nodoalbero *rightPtr;
- };
- typedef struct nodoalbero* tree_pointer;
- //PROTOTIPI
- tree_pointer insert(tree_pointer root, int );
- void in_order (tree_pointer );
- //MAIN
- int main (){
- int num_nodi, value;
- tree_pointer root = NULL;
- printf("quanti nodi volete inserire: ");
- scanf ("%d", &num_nodi);
- for (int i = 0; i <num_nodi; i++){
- printf("inserisci il valore da aggiungere: \n");
- scanf("%d",&value);
- insert(root,value);
- }
- //STAMPA IN ORDINE
- printf("STAMPA IN ORDINE\n");
- in_order(root);
- }
- //DEFINIZIONI DI FUNZIONI
- tree_pointer insert(tree_pointer root, int value ){
- if (root == NULL) {
- root = (tree_pointer) malloc (sizeof(tree_pointer));
- if (root != NULL ){
- root -> data = value;
- root -> leftPtr = NULL;
- root -> rightPtr = NULL;
- }else{
- printf("---errore---\nMEMORIA NON DISPONIBILE!");
- }
- }
- if (value > root->data){
- insert (root -> rightPtr , value);
- } else if (value < root-> data){
- insert (root -> leftPtr, value);
- }
- }
- void in_order (tree_pointer T){
- if (T != NULL){
- in_order (T->leftPtr);
- printf("%d| ", T->data);
- in_order (T->rightPtr);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement