先对链表进行排序在删除数相等的结点:
已知单链表的无头节点head
void sortDel() //排序+删除
{
pStu p, q, temp1;
int temp;
p = head;
for( p ; NULL != p->Next ; p = p->Next )
{
for( q = p->Next ; NULL != q->Next ; q = q->Next)
{
if( p->Next->a > q->Next->a )
{
temp = p->Next->a;
p->Next->a = q->Next->a;
q->Next->a = temp;
}
}
}
/************以上是排序,下面是去重**********************/
p = head->next;
q = p->next;
while(NULL != q)
{
if(p->a == q->a)
{
temp1 = q;
p->next = q->next;
q = q->next;
delete(temp1);
}
else
{
q = q->next;
p = p->next;
}
}
}