Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] szukanie numeru pozycji wybranego elementu na liście jednokierunkowej

Ostatnio zmodyfikowano 2018-05-27 19:39
Autor Wiadomość
ozjaszka1
Temat założony przez niniejszego użytkownika
[C++] szukanie numeru pozycji wybranego elementu na liście jednokierunkowej
» 2018-05-27 18:48:46
Hej, jeżeli mam listę jednokierunkową i chcę wstawić przed danymi spełniającymi warunek nowe dane, to jak mogę dostać się do numeru pozycji tego elementu spełniającego warunek?
P-171276
pekfos
» 2018-05-27 19:03:01
Co ma numer pozycji do wstawiania elementu?
P-171277
ozjaszka1
Temat założony przez niniejszego użytkownika
» 2018-05-27 19:07:51
Mogłabym ustawić pętlę for, która by przeskoczyła do wskaźnika elementu, przed którym chcę wstawić nowy, np. coś takiego

C/C++
for( int i = 0; i < n; i++ ) // n-znaleziona pozycja
     poprzedni = poprzedni->wsk_nastepnika;

P-171278
pekfos
» 2018-05-27 19:31:47
I pytasz, jak ze wskaźnika na element uzyskać numer elementu, żeby z numeru elementu odzyskać wskaźnik. Gdzie w tym sens?
P-171279
zeszyt
» 2018-05-27 19:39:00
C/C++
while( list->has_next ) // dopuki jest następny węzeł
{
    if( list->next( condition == true ) // jeśli dane następnego węzła spełniają warunek
    {
        list->current_selection->update(); // wstaw dane do aktualnie wskazanego węzła
        // EDIT:
        // Jak chcesz dodać nowy węzeł w to miejsce to zamiast update() użyj funkcji insert(), która tworzy nowy węzeł i dołącza go do listy
        break;
    }
    list = list->next; // przesuń do nastepnego wezła
}

Tak mi się wydaje ale nie mam kodu twojej listy więc w większości zgaduje, ale opisowo powinno być ok.
P-171280
« 1 »
  Strona 1 z 1