Drzewo bst

0

Witam ma takie oto zadanie: Zaimplementować drzewo binarne (ang. Binary Search Tree, BST) w węzłach którego przechowywane będą pary {int klucz, char *wartosc}, pamiętać o zwalnianiu pamięci.
Wiem, że w necie jest masę tego typu programów, ale ja nie do końca je rozumiem. Nie umiem za bardzo wskaźników i z tym zwalnianiem pamięci nie daje rady. Przypuszczam, że gdzieś trzeba użyć funkcji malloc i free. Program ma być w C i potrzebuje go na jutro. Na razie mam tyle( czyli nic), co dalej ?

 #include<stdio.h>
#include<stdlib.h>

struct wezel
{
 int klucz;
 char *wartosc;     
 struct wezel*lewy;
 struct wezel*prawy;    
};
      
void dodawanie()
{
    printf("Podaj wartosc:\n");
    
}

void odczyt()
{
  
}





int main()
{
   char wybor;
    printf(" [0]  Koniec\n");
    printf(" [1]  Dodawanie\n");
    printf(" [2]  Odczyt\n");   
   while((wybor=getchar()) !='0')
   {
   
    switch(wybor)
    {
      case '1' : dodawanie();       break;
      case '2' : odczyt();      break;

    }
} 
    return 0;
}
0

Nawet to co już masz jest źle napisane. Co to za

int odczyt()

Skoro wartością węzła jest char*? o_O
Co teraz? To proste, teraz oblejesz ten przedmiot i dowiesz się ze studiowanie nie jest obowiązkiem a przywilejem.

1

Tu: http://4programmers.net/Forum/C_i_C++/121189-Drzewo_binarne masz podobny temat. Oczywiście Ty przechowujesz dwie dane a nie jedną, ale modyfikacja będzie banalna. W ogóle uważam to za znęcanie się nad ludźmi pisanie takich programów w czystym C. Bez klas to jednak nie samo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1