Dojście do wybranego elementu tablicy

0

Witam, w programie mam funkcję, która usuwa dany element z listy.
Przykladowo lista posiada trzy imiona:
Karol
Damian
Bartlomiej
Damian

Chcialbym usunac przykładowo element drugi, wiec do mojej funkcj moge przekazac te informacje w następujący sposób:
usunElementZListy(jakas_struktura,baza->next);
Gdzie baza wskazuje na początek listy. Problem pojawia się w momencie, gdy to użytkownik ma wprowadzić informację, który element usunąć - tzn. nie mam pojęcią jak ustawić "wskazywacz" na podany przez użytkownika element.

Z góry bardzo dziękuję za jakąkolwiek wskazówkę.

0

Hej,

niebardzo rozumiem czy chcesz usunac np: drugi wezel (1), czy wezel, ktorego wartoscia jest "Damian" (2).
Sprowadzi sie to tylko do innego sprawdzenia w funkcji znajdz():

  1. Pierwsza sytuacja.
 
Wezel* Lista::znajdz(int indeksElementu)
{
    Wezel *w = HEAD;
    int i = 0;
    /* przechodzenie po liscie */
    while (w != NULL) {
        /* Szukany indeks! */
        if(i == indeksElementu)
        {
            return w;
        }
        /* Przesun sie o jeden dalej */
        w = w->nastepny;
        ++counter;
    }
    return NULL;
}
  1. Szukasz imienia. Jestes w cpp wiec mozesz uzyc std::string i porownywac je '=='. Musisz pamietac, ze taka funkcja znajdzie pierwsze wystapienie "Damiana":
 
Wezel* Lista::znajdz(std::string imie)
{
    Wezel *w = HEAD;
    
    /* przechodzenie po liscie */
    while (w != NULL) {
        /* Szukane imie! */
        if(w->imie == imie)
        {
            return w;
        }
        /* Przesun sie o jeden dalej */
        w = w->nastepny;
    }
    return NULL;
}

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