napisz funkcję która w liscie jednokierunkowej znajdzie element najmniejszy i największy.Jeżeli element najmniejszy lezy dalej niż najwiekszy funkcja powinna zamienić je miejscami.Wszystkie elementy w liście są różne i lista ma minimum dwa elementy
oto mój kod
#include <stdio.h>
#include <stdlib.h>
struct element
{
double x;
struct element *nast;
};
typedef struct element ELEMENT;
typedef ELEMENT *ADRES;
void wypisz(ADRES pierwszy)
{int ile=0;
int ile1=0;
ADRES pom=pierwszy;
double maks=pom->x;
double mins=pom->x;
while(pom!=NULL)
{
if(mins>pom->x)
{
ile++;
mins=pom->x;
}
if(maks<pom->x)
{
ile1++;
maks=pom->x;
}
pom=pom->nast;
}
if(ile>ile1)
{
//tu powinna dokonywac sie zamiana
}
}
int main()
{
return 0;
}
mam problem z zamianą ,nwm jak to zrobić w liście,ma ktoś pomysł?