c++ lista jednokierunkowa

Awatar użytkownika
chodzik
Użytkownik
Użytkownik
Posty: 80
Rejestracja: 15 lut 2009, o 17:28
Płeć: Mężczyzna
Lokalizacja: Springfield
Podziękował: 18 razy
Pomógł: 1 raz

c++ lista jednokierunkowa

Post autor: chodzik »

Na liście jednokierunkowej , która przechowuje znaki typu char znajduje się nieparzysta lista elementów (co najmniej 3). Napisz funkcje, która wyświetli zawartość elementu środkowego listy oraz jej sąsiadów.
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

c++ lista jednokierunkowa

Post autor: spajder »

Bardzo nieefektywny algorytm:
1. Sprawdzasz ile elementów jest na liście, tj. przeglądasz ją od początku do końca i zliczasz

Kod: Zaznacz cały

licznik = 0;
while(jest nastepny element)
{
     licznik++;
     idz do nastepnego
}
nastepnie policzysz pierwszy wypisywany: pierwszy = licznik/2, przejdziesz w ten sam sposób listę, ale tym razem pętla się będzie wykonywała określoną ilość razy:

Kod: Zaznacz cały

for(int i = 0; i < pierwszy; i ++)
    idz do nastepnego;
I teraz po prostu trzeba wypisać 3 następne liczby
Awatar użytkownika
chodzik
Użytkownik
Użytkownik
Posty: 80
Rejestracja: 15 lut 2009, o 17:28
Płeć: Mężczyzna
Lokalizacja: Springfield
Podziękował: 18 razy
Pomógł: 1 raz

c++ lista jednokierunkowa

Post autor: chodzik »

A nie trzeba użyć do tego element_t lub struct ?
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

c++ lista jednokierunkowa

Post autor: spajder »

Na pewno trzeba. To co napisałem to tylko pseudokod, każdy węzeł najpewniej będziesz przechowywał w strukturze.
ODPOWIEDZ