lista sąsiedztwa
Ostatnio zmodyfikowano 2011-06-20 21:59
markon Temat założony przez niniejszego użytkownika |
lista sąsiedztwa » 2011-06-19 16:43:21 witam,
jak zrealizować tą listę, używać STL-a czy może napisać listę jednokierunkową węzłów, oraz dla każdego takiego węzła listę jednokierunkową węzłów będąca następnikami? |
|
absflg |
» 2011-06-19 17:44:01 O ile dobrze zrozumiałem - oba rozwiązania są poprawne. |
|
kamillo121 |
» 2011-06-19 19:11:20 KeyWords: c++ lista sąsiedztwa Strona: google.plWynik: np pierwszy Jeżeli uznasz, że sposoby z google są za słabe dla ciebie to wtedy sobie napiszesz własne rozwiązanie. Zadajesz pytanie drugi albo trzeci raz o tym samym. Jaki z tego wniosek ? |
|
markon Temat założony przez niniejszego użytkownika |
» 2011-06-20 21:32:16 ok, udało się sporządziłem ten algorytm BSF.
mam zrobioną strukturę węzła. W funkcji Main tworzę tablicę tego typu węzłów. w każdej strukturze mam też listę z STL, do której to pakuję następniki dla każdego węzła, teraz mogę powiedzieć, że mam listę sąsiadów/następników.
Jednak nurtuje mnie jedna rzecz, czy nie lepiej w miejsce listy pochodzącej z STL, napisać swoją listę jednokierunkową,
poza tym czy jest to przyzwoite rozwiązanie, efektywne, czy można to lepiej zrobić(zachowując cały czas strukturę listy sąsiedztwa) ?
proszę o wiele wypowiedzi.
Mam też kolejne pytanie, przecież jeśli w pętli tworzę obiekt i wywołuje na jego rzecz x razy operator new, to jak mam teraz po nim posprzątać??
pozdrawiam
markon |
|
npHard |
» 2011-06-20 21:59:57 napisać swoją listę jednokierunkową, poza tym czy jest to przyzwoite rozwiązanie, efektywne |
Hmm... zrób tak a potem zrób testy porównujące działanie obu rozwiązań. Poza tym implementacja listy nie jest trudna. Mam też kolejne pytanie, przecież jeśli w pętli tworzę obiekt i wywołuje na jego rzecz x razy operator new, to jak mam teraz po nim posprzątać?? |
Najprościej chyba będzie, jeśli w momencie, w którym przestaniesz jakiegoś obiektu potrzebować wywołasz na jego rzecz delete. Jeśli w liście trzymasz wskaźniki to przed usunięciem któregokolwiek z elementów listy musisz wywołać delete na tym wskaźniku, jeśli tego nie zrobisz, będziesz miał wyciek pamięci. W kontenerach stl możesz też przechowywać całe obiekty, nie tylko wskaźniki na nie. Nie musisz się wtedy martwić o zarządzanie pamięcią. |
|
« 1 » |