Lista jednokierunkowa - jak zrobić okreslaną liczbę elementów?

0

Witam,
Mam sobie liste taka liste jednokierunkowa:

struct lista
{
    int liczba;
    struct lista *next;
};
typedef struct lista element;

oraz w main:

element *PoczatekListy = NULL;

moje pytanie to czy mozna jakos z automatu ograniczyc ilosc elementow listy np.: do maksymalnie 10 lub poprzez funkcje? Nie bardzo wiem jak za to sie zabrac.
Wymyslilem takie cos:

void init(element *PoczatekListy)
{
    int i = 0;
    element *Help = PoczatekListy, *Koniec;
    for(i=0; i<10; i++)
    {
        Help = Help->next;
    }
    Koniec = Help;
}
5

Niepotrzebnie sobie komplikujesz życie bawiąc się w prealokację - zliczaj ile masz elementów podczas dodawania i nie pozwalaj dodawać więcej.

5

Btw, takie ograniczanie to zły pomysł.

Jeżeli chcesz mieć narzuconą wielkość, użyj jakiejś zwykłej tablicy.

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