Ahoj, mám lineární seznam, v něm prvky a chci ho seřadit, podařilo se mi napsat kód jak ho seřadit s pomocí dočasné proměnné temp typu int, ve struktuře mám jen jednu int proměnnou. Kdybych jich tam měl víc, třeba i char, šlo by nějak provést seřazení (podle dané proměnné ve struktuře) pomocí ukazatele na pamět ( jako že bych přehodil paměť) nebo prostě musim otrocky všechny proměnné přiřazovat, tak jako v kódu? S tou pamětí se mi to nedaří, buď to spadne, nebo se vypíší všechny prvky stejné. Díky za všechny nápady.
struct lin_sez {
int c;
lin_sez *dalsi;
};
lin_sez *prvni= nullptr;
int pocet =0;
void sort(lin_sez *s)
{
lin_sez *p,*q;
int temp,a,b;
for(a = 1;a<=pocet-1;a++)
{
p = prvni;
q = p->dalsi;
for(b = 1;b<pocet;b++)
{
if(p->c > q->c )
{
temp = p->c;
p->c = q->c; // tady přistupuji je "přehazování" proměnné , jak to udělat pomocí paměti?
q->c = temp;
}
p = p->dalsi;
q = q->dalsi;
}
}
}