Implementacja stosu za pomocą tablicy cormen vs other

0

Witam, zaintrygowała mnie pewna rzecz, chodzi o implementacje stosu, a dokładniej rzecz biora o wskaźnik wierzchołka stosu dlatego że znalazłem 2 wersje :

  1. Wersja wg Cormena : Wskaźnik stosu wskazuje na ostatni element stosu
  2. Wersja wg prowadzących prowadzących na 1 roku studiów, niektórych źrodłem internetowych : Wskaźnik stosu wskazuje na wolną komórkę (przy implementacji tablicowej) zaraz po ostatnim elemencie np na stosie można umieścić max 10 elementów ( taki rozmiar tablicy), umieszczami 3 na pozycjach [0],[1],[2] więc wskaźnik stosu wskazuje na [3].

Wiem, że niesamowitej róznicy to raczej nie robi ale ździwiło mnie w momencie gdy po napisaniu okazało się że coś jest nie tak ( tym bardziej że różnica w implementacji jest również na dwóch oddzielnych wydziałach jednej z uczelni : na jednym z nich stosuje sie wg Cormena na drugim wersje nr 2. Czy jest oficjalnie powiedziana która z nich jest poprawna?

0

stack::top() lub stack::back() moim zdaniem powinno zwrócić nam wierzchowy obiekt, nie wolne miejsce.

0

Nie ma czegoś takiego jak "poprawna" opcja. To jest przecież totalny szczegół. Niemniej opcja 1 jest sensowniejsza bo średnio wykonasz mniej operacji (nie będziesz niepotrzebnie przesuwał wskaźnika stosu jeśli np. zaraz po push robisz pop).

0

Zależy z czego będziemy korzystać, co porównywać itd... Drugi sposób poza tym, że pokazuje wolny element, pokazuje ile jest wypelnionych elementów. Przy tablicowej metodzie drugi sposob jest optymalniejszy, bo przy pustym stosie mamy indeks na 0.

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