Stos, getNext() dla String

0

Mam zrobic Interfejs Stos:
Empty() – zwraca true, jeśli stos jest pusty,
Push() – umieszcza znak na szczycie stosu i zwraca referencje do niego,
Pop() – zwraca znak ze szczytu stosu i usuwa go ze stosu,
Peek() – zwraca znak ze szczytu stosu bez jego zdejmowania.
Klasa Stos - implementacja stosu jako listy wiązanej jednokierunkowej.

Zrobiłem coś takiego http://pastebin.com/BWub9EYL . I mam problem z przeskoczeniem do nastepnego elementu stosu podczas implementacji. Jak mogę to rozwiązać i mógłby ktoś od razu spojrzeć czy to jest poprawnie napisane i metody zwracają to co mają ?

2

Zacznij od napisania zwykłej klasy opakowującej listę jednokierunkową, ponieważ wydaje mi się, że coś gdzieś zasłyszałeś, coś gdzieś przeczytałeś, ale tak w sumie to nie masz pojęcia, jak działa taka lista.

0

dzięki za dobrą radę ;) Mógłbyś powiedzieć jeszcze czy to jest dobrze zrobione, zgodne z poleceniem. Napisałem liste tak jak mówiłeś i według niej zrobiłem stos. http://pastebin.com/0MAHfyTY

2
  1. Początek listy to Lista.head, a nie Lista.first. U Ciebie to będzie Lista.tail akurat, bo widzę, że zapisujesz ogon (koniec) listy, a nie początek.
  2. Dlaczego masz metodę Lista.addFirst? Jaki ma to w ogóle sens? Nie dodajesz tam przecież pierwszego elementu, więc nazwa jest ogromnie myląca. Lista.add wystarczy.
  3. Podobnie jak nie Lista.removeFirst, tylko Lista.removeLast (ponieważ usuwasz ostatnio dodany element, a nie pierwszy).
  4. Nie żadne Lista.firstElem, tylko Lista.getLast.
  5. Lista.displayList -> Lista.print.
  6. Zauważyłeś, że Twoja klasa Stos tak naprawdę nic nie robi? Jest tylko wrapperem na listę, ale sama w sobie nie ma żadnej funkcjonalności, ergo - jest zbędna.

Plus stosuj się do C#owego nazewnictwa, tj. SomeMethod, a nie someMethod.

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