以下に示すsomethihg()の機能を述べよ

struct element{
 char data;
 struct element *next;
}

void something(struct element *l){
 struct element *p,*w;
 p=NULL;
 while(l->next!=NULL){
  w=p;
  p=l->next;
  l->next=p->next;
  p->next=w;
 }
 l->next=p;
}