logo

Plaatsing

De invoegfunctie wordt gebruikt om een ​​nieuw element toe te voegen aan een binaire zoekboom op de juiste locatie. De invoegfunctie moet zo worden ontworpen dat deze bij elke waarde de eigenschap van de binaire zoekboom moet schenden.

  1. Wijs het geheugen toe aan de boom.
  2. Stel het gegevensgedeelte in op de waarde en stel de linker- en rechteraanwijzer van de boom in, wijs naar NULL.
  3. Als het in te voegen item het eerste element van de boom zal zijn, zullen de linker- en rechterkant van dit knooppunt naar NULL wijzen.
  4. Controleer anders of het item kleiner is dan het wortelelement van de boom. Als dit waar is, voer deze bewerking dan recursief uit met de linkerkant van de wortel.
  5. Als dit niet waar is, voer deze bewerking dan recursief uit met de rechter subboom van de root.

Invoegen (BOOM, ITEM)

    Stap 1:ALS BOOM = NUL
    Wijs geheugen toe voor TREE
    BOOM INSTELLEN -> GEGEVENS = ITEM
    ZET BOOM IN -> LINKS = BOOM -> RECHTS = NUL
    ANDERS
    ALS ARTIKELGEGEVENS
    Invoegen(BOOM -> LINKS, ITEM)
    ANDERS
    Invoegen(BOOM -> RECHTS, ITEM)
    [EIND VAN ALS]
    [EIND VAN ALS]Stap 2:EINDE

invoeging in binaire zoekboom

C-functie

 #include #include void insert(int); struct node { int data; struct node *left; struct node *right; }; struct node *root; void main () { int choice,item; do { printf('
Enter the item which you want to insert?
'); scanf('%d',&item); insert(item); printf('
Press 0 to insert more ?
'); scanf('%d',&choice); }while(choice == 0); } void insert(int item) { struct node *ptr, *parentptr , *nodeptr; ptr = (struct node *) malloc(sizeof (struct node)); if(ptr == NULL) { printf('can't insert'); } else { ptr -> data = item; ptr -> left = NULL; ptr -> right = NULL; if(root == NULL) { root = ptr; root -> left = NULL; root -> right = NULL; } else { parentptr = NULL; nodeptr = root; while(nodeptr != NULL) { parentptr = nodeptr; if(item data) { nodeptr = nodeptr -> left; } else { nodeptr = nodeptr -> right; } } if(item data) { parentptr -> left = ptr; } else { parentptr -> right = ptr; } } printf('Node Inserted'); } } 

Uitvoer

 Enter the item which you want to insert? 12 Node Inserted Press 0 to insert more ? 0 Enter the item which you want to insert? 23 Node Inserted Press 0 to insert more ? 1