rendered paste bodyvoid zamien(list el1, list el2)
{
Elem tmp=*el1;
el1->w_time=el2->w_time;
el1->f_size=el2->f_size;
el1->type=el2->type;
el1->id=el2->id;
strcpy(el1->nazwa,el2->nazwa);
strcpy(el1->ext,el2->ext);
el2->w_time=tmp.w_time;
el2->f_size=tmp.f_size;
el2->type=tmp.type;
el2->id=tmp.id;
strcpy(el2->nazwa,tmp.nazwa);
strcpy(el2->ext,tmp.ext);
}
/*=================================================================================================================================*/
// s - wg. rozmiaru
// t - wg. czasu modyfikacji
// e - wg. rozszerzenia
// default - wg. nazwy
list sort(list lista, char c)
{
list tmp;
int k,i=il_el(lista);
for(k=0;k<i;k++)
{
tmp=lista;
while(tmp->nast)
{
switch(c)
{
case 's' :
if((tmp->f_size)>(tmp->nast->f_size))
zamien(tmp,tmp->nast);
break;
case 't':
if((tmp->w_time)>(tmp->nast->w_time))
zamien(tmp,tmp->nast);
break;
case 'e':
if(strcmp(tmp->ext,tmp->nast->ext)>0)
zamien(tmp,tmp->nast);
break;
default :
if(strcmp(lista->nazwa,lista->nast->nazwa)>0)
zamien(lista,lista->nast);
break;
}
tmp=tmp->nast;
}
}
return lista;
}