Struktury danych - lista
Ostatnio zmodyfikowano 2013-01-07 19:05
rooker Temat założony przez niniejszego użytkownika |
Struktury danych - lista » 2013-01-04 16:20:56 Witam poszukuje jakiejś strony, która dobrze wytłumaczy mi zasade działania listy, nie było mnie na zajęciach i nie do końca to rozumiem, a w symfonii tego nie ma. |
|
DejaVu |
» 2013-01-04 16:24:00 |
|
rooker Temat założony przez niniejszego użytkownika |
» 2013-01-05 13:21:54 chodzi mi też o to że nie za bardzo rozumiem kodu przy listach i tego zapisu z -> |
|
crash |
» 2013-01-05 13:50:27 struct Struktura { int pole; };
int main() { Struktura s1; Struktura * s2 = new Struktura; s1.pole = 10; s2->pole = 20; ( * s2 ).pole = 30; }
Tablica 10 elementów typu np. int to 40 bajtów jeden koło drugiego. Tablica 10 elementów typu char, to 10 bajtów koło siebie, jeden przy drugim. Tablice to generalnie szybki dostęp do poszczególnych komórek pamięci, mankament taki, że jak się raz przydzieli rozmiar to nie można go zmienić. Lista, stos, kolejka, drzewa to dynamiczne struktury danych. Patent jest taki, że poszczególny element przechowuje wartość i informacje gdzie znajduje się np. poprzedni element, następny, lub kilka poprzednich elementów, kilka następnych. Po takich strukturach przemieszcza się za pomocą wskaźników, a względem siebie w pamięci mogą być porozrzucane - wskaźniki wewnątrz elementów wskazują gdzie się znajdują kolejne elementy, które też mogą mieć wskaźniki. W przeciwieństwie do tablic, dynamicznym strukturom danych można manipulować rozmiarem, zwiększać/zmniejszać etc. Listy są jedno- lub dwukierunkowe. Oznacza to tyle, że 1-kierunkowa lista wewnątrz poszczególnego elementu zawiera przechowywaną wartość oraz informacje o następnym/poprzednim elemencie, tj. gdzie on jest w pamięci. 2-kierunkowa lista wie gdzie jest poprzedni oraz następny element - umożliwia to poruszanie się po liście do przodu i do tyłu. Obczaj dokładnie jak działa stos, później zajmij się listami. Jeśli tego nie załapiesz w porę, to będziesz miał problem z drzewami, które Cię na pewno nie ominą. To nie gryzie więc się nie bój ;) |
|
rooker Temat założony przez niniejszego użytkownika |
» 2013-01-05 16:29:44 a po co do zmiennej s2 przypisujesz new Strukura?? |
|
crash |
» 2013-01-05 17:40:18 Pierwszy link :) Tzw. dynamiczne przydzielenie pamięci. Swoją drogą zrobiłem mały błąd - nie zwolniłem pod koniec pamięci. Zresztą, doczytaj sobie, w pierwszym linku wszystko jest ładnie wyjaśnione. |
|
pekfos |
» 2013-01-05 18:49:45 nie za bardzo rozumiem kodu przy listach i tego zapisu z -> |
a po co do zmiennej s2 przypisujesz new Strukura?? |
Więc po co szukasz takich rzeczy, skoro nie znasz podstaw? |
|
rooker Temat założony przez niniejszego użytkownika |
» 2013-01-06 08:54:41 zamiast mówić tego że nie znam, może byś mi to jakoś wytłumaczył a nie gadał, albo odsyłał do innych źródeł. Dzięki crash za pomoc. |
|
« 1 » 2 |