Witam,
Mam taki oto programik:
#include <cstdlib>
#include <iostream>
using namespace std;
struct wezel
{
int liczba;
struct wezel *lewy;
struct wezel *prawy;
};
struct wezel *new_wezel(int var)
{
struct wezel *new_wezel = new(struct wezel);
new_wezel->liczba = var;
new_wezel->lewy = NULL;
new_wezel->prawy = NULL;
return(new_wezel);
}
struct wezel *dodaj_el(struct wezel *wezel, int var)
{
if(wezel==NULL)
{
return(new_wezel(var));
}
else
{
if(var <= wezel->liczba)
wezel->lewy = dodaj_el(wezel->lewy, var);
else
wezel->prawy = dodaj_el(wezel->prawy, var);
}
cout << wezel;
return(wezel);
}
int main(int argc, char *argv[])
{
system("PAUSE");
return EXIT_SUCCESS;
}
Ogólnie chodzi o tworzenie drzewa binarnego, program nie jest mojego autorstwa. Proszę o wytłumaczenie np tej linijki:
struct wezel *new_wezel(int var)
Pierwszą strukture jako reprezentacje danych rozumiem (struct wezel), ale nie wiem co jest tworzone potem. Nie jest to funkcja a jednak coś zwraca. Dlaczego nazwą tej nowej structury/funkcji jest wskaźnik. Czemu to służy i jak tego używać. Wiem jak uzyc funkcji ale nie wiem jak tego? Proszę o w miare łopatologiczne wytłumaczenie tego. Wiem do czego służą wskaźniki ale nie wiem jaką tutaj mają funkcję. W jaki teraz sposób wypełnić to drzewo? Dzieki za pomoc