void popsortList(NODE *pHead)
{
int len = strlenList(pHead);
NODE *temp;
for(int i = 0; i<len-1; i++)
{
NODE *t = pHead;
NODE *p = t->next;
NODE *q = p->next;
int flag = 1;
for(int j = 0; j<len-1-i; j++)
{
if(p->data > q->data)
{
t->next = q; //更新节点的指向
p->next = q->next;
q->next = p;
temp = p; p = q;q = temp;
flag = 0;
}
t = t->next;
p = t->next;
q = p->next;
}
if(flag)//如果p->data和q->data没有交换表明后面的节点的值都是有序的 就不再需要逐个遍历整个链表。
break;
}
}