Baza danych z uzyciem list

0

Witam!
Zaczynam pisac baze danych na zaliczenie. Chce ja zrobic na klasach i listach. Wymyslilem to sobie tak:
class muzyka
{
char * cos;
char * cos2;
char *cos3;
int *cos4;
itd;
muzyka * tmp;
muzyka *next;
};

Przy tworzeniu nowego elementu chce zrobic tak:
next->nowy;//nowy element
tmp = tmp ->next;
tmp = new muzyka;

Z tym sobie jeszcze jakos poradze, ale mam pytanie: Jak za pomoca listy odniesc sie do konkretnej pozycji bazy, powiedzmy nr 6? Przyda mi sie to w wyswietlaniu i usuwaniu, a do konca nie wiem jak to zrobic :/ Pewnie to trywialne, ale na razie nie wpadlem na pomysl :P
Z gory wielkie thx za pomoc [browar]

0

Niestety musisz przejść przez listę do odpowiedniego miejsca i wtedy usuwać/wstawiać/odczytywać wartość - listy nie są zbyt dobrym pomysłem na organizacje bazy danych. Zawsze możesz zaimplementować klasę, która będzie zachowywać się podobnie do vector'a z STL'a (tablica, która odpowiednio się realokuje gdy zabraknie miejsca, przeważne zwiększając rozmiar dwukrotnie) - korzyści:

  1. swobodny dostęp do wszystkich pozycji w bazie w czasie stałym (a nie w liniowym jak w liście)
  2. realokacja będzie następowała stosunkowo rzadko, więc nie ma dużych strat wydajności
  3. prostota implementacji
0

Moim zdaniem można zrobić to tak. Do klasy dodaj sobie zmienną typu int. I teraz przy podawaniu danych do listy będzie ona służyła za index listy i dzięki temu będziesz mógł się odwoływać do któregokolwiek elementu listy. Potem przy wczytywaniu dancyh z pliku również nie będzie problemu.

Mam nadzieje, że pomogłem.
Pozdrawiam

0

koRZyści

błagam...

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