All pastes #568682 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-15 17:24 UTC
rendered paste body
void 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;
}