Linked list til array samt sortering/randomisation
Jeg vil gerne udvide min forståelse af linked lists (dermed ikke sagt, at den er synderligt omfattende nu), og tænkte, det kunne være en god ide at finde ud af, hvordan man laver en linked list om til et array og vice versa.Min struct ser således ud: (se evt. http://www.eksperten.dk/spm/600200 for mere)
struct node
{
char* name;
int grade;
struct node* next;
struct node* previous;
};
Min tanke er, at konverteringen til array og omvendt vil være mest praktisk, hvis man laver et array af pointere, frem for et array af node-elementer, men jeg er lidt i tvivl om, hvordan man bedst griber det an?
For at udnytte konversionen begge veje (både linked list til array og arra til linked list) tænkte jeg, at man kunne prøve at blande nodes så en f.eks. sorteret linked list ikke længere er sorteret. Har C en funktion til noget "random"-lignende noget, og hvordan kunne man bruge et array af sådanne pointere med den, hvis det kan lade sig gøre og findes?
Når det så er klaret, ville jeg sætte stor pris på lidt hjælp til at bruge C-funktionen qsort (med quicksort-algoritmen) i forbindelse med et sådant array.
På forhånd mange tusind tak! :-)