Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2006-04-05 01:06:19

  etilen - Użytkownik

etilen
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-11-21

Przeglądanie list dwukierukowych <rozwiązany>

Heh, kolejne pytanko z mojej strony:

Czy są jakieś efektywne mechnizmy przeglądania list dwukierunkowych zawierających nieokreśloną ilość pół o róznych typach danych?
Program jest pisany w C a typy danych stanowiących pola będą definiowane podczas działania programu poprzez rzutowanie z void*.

Myślałem o funkcjach mieszjących ale jak stworzyć klucz gdy nie wiem na starcie ile i jakie będą pola, a rekordy muszą mieć mozliwość identycznego przeszukiwania po wszystkich polach.

podstawowa komórka będzie wyglądać mniej-więcej tak:

typedef struct{
    void *data;
   datatype type;  // opis typu danych -na co zrzutowac *data
} datastruct;

typedef struct{
    keytype key;  // klucz
    datastruct  *contents  //tu beda dane
}

Byłbym wdzięczny za polecenie jakiejś knidy opisującej zagadnienie manipulacji strukturami dancy w C.

Pozdrawiam

Offline

 

#2  2006-04-14 21:41:05

  adi - Użytkownik

adi
Użytkownik
Zarejestrowany: 2006-03-29

Re: Przeglądanie list dwukierukowych <rozwiązany>

Moze w tych pozycjach znajdziesz to czego potrzebujesz:
Algorytmy structury danych i techniki programowania - wyd. Helion(taka czerwona, autora nie pamietam)
Struktyry danych w jezyku C - autor Drozdek

Offline

 

#3  2006-04-15 01:49:10

  etilen - Użytkownik

etilen
Użytkownik
Skąd: Gdańsk
Zarejestrowany: 2005-11-21

Re: Przeglądanie list dwukierukowych <rozwiązany>

Dzięki za odpowiedź.

Zdążyłem już bardziej skompliować koncepcję ale każda dobra knida się przyda :).

Pozdrawiam

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)