mam dajaku strukturu v linearne zretazenom zozname.
mam tam vek a meno.
chcem usporiadat tychto x ludi podla veku a vypisat ich.
Ako triediaci algoritmus chcem QSORT.
Programovaci jazyk C .
Neveim s tym pohnut
Kód: Vybrať všetko
FOR i=1 TO DLZKAZOZNAMU-1 DO
BEGIN
prvok = PRVOK(i);
FOR j=i+1 TO DLZKAZOZNAMU DO
BEGIN
IF prvok > PRVOK(j) THEN VYMENPRVKY(i, j);
END
END
Kód: Vybrať všetko
void vymen_prvky(void **a, void **b)
{
static void *c=a;
a=b;
b=c;
}Funkcia qsort (ktorá je v C dostupná) vie triediť iba polia (a aj keby si si urobil vlastnú verziu, nebola by vhodná na zreťazený zoznam; musela by totiž neustále prehádzať ten zoznam hore-dole, aby sa našiel prvok, ktorý sa bude porovnávať...).miki11 napísal:...