Dojście do wybranego elementu tablicy

Odpowiedz Nowy wątek
2015-02-01 21:53
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ę.

Pozostało 580 znaków

2015-02-04 16:39
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;
}


2. Szukasz imienia. Jestes w cpp wiec mozesz uzyc std::string i porownywac je '=='. Musisz pamietac, ze taka funkcja znajdzie pierwsze wystapienie "Damiana":
```cpp

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;
}

Developer at Ericpol
edytowany 3x, ostatnio: rublow, 2015-02-04 16:41

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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