Strona 1 z 1

Stos, kolejka... czy jakieś inne rozwiązanie ?

Nowy postNapisane: wtorek, 7 czerwca 2011, 22:44
przez Slynx
Tak sobie patrzę na kilka moich funkcji i zauważyłem, że samo ich działanie jest bardzo nieefektywne i niepotrzebnie skomplikowane.
Potrzebuję konkretnego rozwiązania i od razu rozwiązanie skojarzyło mi się ze stosem gdy pisałem pod asm. Oczywiście nie mam zamiaru schodzić tak nisko, chodzi mi tylko o rozwiązanie. Ale do rzeczy,

Podczas działania programu użytkownik dodaje różne wartości w różnych ilościach i różnego typu, np
Kod: Zaznacz cały
count type
10     typ6
34     typ7
56     typ1

I gdy już skończy takie dodawanie i przyciśnie "confirm", muszę po kolei przelecieć po każdym elemencie (count * type) odczytać typ, ilość i wykonać odpowiednią funkcję.
W tym momencie przypomina mi się także rozwiązanie polymorphisma z zastosowaniem MemoryStream, ale w tym wypadku to raczej nie pasuje bo odczyt byłby zbyt "kodochłonny".

Najbardziej pasowało by tu coś właśnie na kształt stosu, by po kolei ściągać z niego kolejne rekordy (count, type).
Wcześniej stosowałem tablicę o sztywnych rozmiarach, ale to marnowanie pamięci lub ograniczanie ( w zależności od ilości danych dodanych przez użytkownika).

Coś jak MemoryStream tylko, że zachowaniem pewnej struktury danych i indeksów.

Re: Stos, kolejka... czy jakieś inne rozwiązanie ?

Nowy postNapisane: środa, 8 czerwca 2011, 09:43
przez polymorphism
Pytanie dziwne, bo w sumie sam sobie na nie odpowiedziałeś: użyj kolejki (Collections.Generic.Queue) lub stosu (Collections.Generic.Stack) ;)

Re: Stos, kolejka... czy jakieś inne rozwiązanie ?

Nowy postNapisane: środa, 8 czerwca 2011, 12:48
przez Slynx
Nie wiedziałem, że coś takiego jest. Zaraz zobaczę jak to działa.