Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void recorrerlista(const t_lista *p,void (*mostrarinfo)(const t_info*))
- {
- while(*p)
- {
- mostrarinfo (&(*p)->info);
- }
- }
- void ordernar(t_lista *p,int (*comparar)(const t_info *,const t_info*))
- {
- int marca = 1;
- if(*p)
- while(marca)
- {
- t_lista *q = p;
- marca = 0;
- while((*q)->sig)
- {
- if(comparar(&(*q)->info,&(*q)->sig->info))
- {
- t_nodo *act = *q;
- t_nodo *sig = act->sig;
- t_nodo *sigsig = sig->sig;
- marca = 1;
- *q = sig;
- act->sig = sigsig;
- sig->sig = act;
- }
- q = &(*q)->sig;
- }
- }
- }
- int elimunicosNoOrdenada(t_lista *p,int (*comparar)(const t_info *,const t_info*))
- {
- t_lista *q = p;
- int veces,cant;
- while(*q)
- {
- t_nodo *aux = *p;
- veces = 2;
- while(veces && aux)
- {
- if(comparar(&aux->info,&(*q)->info)==0)
- veces--;
- aux = aux->sig;
- }
- if(veces ==1)
- {
- aux =*q;
- *q= aux->sig;
- cant =+1;
- free(aux);
- }
- q =&(*q)->sig;
- }
- return cant;
- }
- int mostraralrevez(const t_lista *p,void (*mostrarinfo)(const t_info*))
- {
- int cant;
- if(*p)
- {
- cant = mostraralrevez(&(*p)->sig,mostrarinfo);
- mostrarinfo(&(*p)->info);
- return cant+1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement