• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy opierać stosy, kolejki na istniejącej strukturze danych czy napisać całkowicie od zera?

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
112 wizyt
pytanie zadane 12 kwietnia w C i C++ przez whiteman808 Gaduła (4,760 p.)
Jak w temacie, lepiej oprzeć na array liście i wywoływać odpowiednie metody, czy całkowicie napisać od zera to co potrzebne do implementacji ADT?
komentarz 12 kwietnia przez adrian17 Mentor (354,120 p.)
Na pewno pytasz o C++a? Bo "array list" brzmi jak termin C#-owy.
komentarz 12 kwietnia przez whiteman808 Gaduła (4,760 p.)
Mam na myśli array listę/linked listę zaimplementowaną w C++

1 odpowiedź

0 głosów
odpowiedź 12 kwietnia przez adrian17 Mentor (354,120 p.)
O linked liście to raczej nikt by tutaj nie pomyślał.

Co szkodzi użyć wbudowane std::queue, std::stack? Raczej nie ma potrzeby tutaj czegokolwiek samemu implementować.
komentarz 12 kwietnia przez whiteman808 Gaduła (4,760 p.)
Chcę zaimplementować w celach edukacyjnych dla samego siebie. Piszę program w C++ z menu itd., który ma być bazą danych opartą na strukturach danych, których uczą w książkach poświęconych algorytmom, na studiach i nie chcę używać gotowców.

Chcę w programie przećwiczyć używanie biblioteki gtest, klas, szablonów, wyjątków, strumieni, plików i ogólnie wszystkiego o czym piszą w książce c++
komentarz 12 kwietnia przez adrian17 Mentor (354,120 p.)

Chcę zaimplementować w celach edukacyjnych dla samego siebie.

A, no to trzeba było od tego zacząć :)

To czy napiszesz _kompletnie_ od zera czy nie to już zależy kompletnie od Ciebie.

Zwróć tylko uwagę że domyślnie ludzie prędzej zaimplementują stos na zwykłym vectorze zamiast na linked liście; podobnie kolejkę na jakimś buforze cyklicznym.

komentarz 12 kwietnia przez whiteman808 Gaduła (4,760 p.)
No ja pytam czy lepiej oprzeć stos i kolejkę na własnej już zrobionej klasie array_list czy napisać potrzebne metody od zera
komentarz 12 kwietnia przez adrian17 Mentor (354,120 p.)
Jak chcesz najpierw napisać własny std::vector (bo "vector" to C++owy termin na to co java nazywa "arraylist") i potem używając go napisać stack, to śmiało. Można zarówno z jak i bez tego.
komentarz 12 kwietnia przez whiteman808 Gaduła (4,760 p.)
Jak już piszę swoje klasy, to lepiej nazywać je po C++owemu?
komentarz 12 kwietnia przez adrian17 Mentor (354,120 p.)
Akurat na strukturę dynamicznie realokowanej tablicy to każdy język nazywa inaczej i nie ma "jednej słusznej", no i jak piszesz dla siebie to nikt się nie obrazi jak nazwiesz ją inaczej.
komentarz 12 kwietnia przez whiteman808 Gaduła (4,760 p.)
Która implementacja z dwóch proponowanych przeze mnie (użycie pod spodem gotowej array listy vs napisanie od zera) będzie bardziej efektywniejsza pod kątem szybkości i zużycia pamięci?
komentarz 12 kwietnia przez adrian17 Mentor (354,120 p.)
...zależy jak napiszesz własną implementację :P

Musisz się zdecydować czy chcesz napisać kod w celach edukacyjnych, czy żeby był konkurencyjny z stdlibem. Bo to często cele sprzeczne; jak najbardziej da się napisać struktury danych lepsze od stdliba (niektóre; szczególnie np unordered_map łatwo pobić jak się rozumie tematykę), ale "moja pierwsza kolejka" z pewnością lepsza nie będzie.
komentarz 12 kwietnia przez whiteman808 Gaduła (4,760 p.)
Dziękuję za pomocne odp

Podobne pytania

+1 głos
1 odpowiedź 364 wizyt
pytanie zadane 22 listopada 2020 w C i C++ przez Kuciniak Użytkownik (930 p.)
0 głosów
2 odpowiedzi 1,046 wizyt
pytanie zadane 29 kwietnia 2017 w C i C++ przez Łukasz Świtaj Użytkownik (520 p.)

93,440 zapytań

142,432 odpowiedzi

322,679 komentarzy

62,802 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...