| 单链表 |
| 作者/cherryqi 时间/2006-8-4 15:07:00 类别/数据结构 查看/ |
| 标签:数据结构 |
|
写一算法将单链表中值重复的结点删除,使所得的结果表中各结点值均不相同 本题可以这样考虑,先取开始结点中的值,将它与其后的所有结点值一一比较,发现相同的就删除掉,然后再取第二结点的值,重复上述过程直到最后一个结点。 第二种算法是将单链表按值的大小排序,排好后的结点按相同的删除。 void DeleteList(Nodetype *L) { Nodetype *p,*q,*s; if(L->Next==NULL||L->Next==NULL) { printf("删除错误\n");exit(0); } p=L->Next; q=p->Next; while(p->Next!=NULL) { while(q) { s=q; if(q->Data==p->Data) { s->Next=q->Next; free(q); q=s->Next; } else q=q->Next; } p=p->Next; } } |
| 查看该用户更多文章>> |