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;knast) { 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; }