Anonymous
public text v1 · immutablestruct lista *dod(struct lista *pop, int dane)
{
struct lista *tmp,*pom;
if(pop==NULL)
{
start=malloc(sizeof(struct lista));
start->liczba=dane;
start->nast=NULL;
pop=start;
}
else
{
if(dane<=pop->liczba)
{
wsk=malloc(sizeof(struct lista));
wsk->liczba=dane;
wsk->nast=pop;
pop=wsk;
}
else
{
tmp=pop;
for(;(dane>tmp->liczba)&&(tmp->nast!=NULL);pom=tmp,tmp=tmp->nast);
if(tmp->nast==NULL)
{
if(tmp->liczba<dane)
{
wsk=malloc(sizeof(struct lista));
wsk->liczba=dane;
wsk->nast=NULL;
tmp->nast=wsk;
}
else
{
wsk=malloc(sizeof(struct lista));
wsk->liczba=dane;
pom->nast=wsk;
wsk->nast=tmp;
}
}
else
{
wsk=malloc(sizeof(struct lista));
wsk->liczba=dane;
wsk->nast=pom->nast;
pom->nast=wsk;
}
}
}
return pop;
}