是的
我们那个程序做出来了呢
要求:建立一个带有头结点的单向循环链表
用户输入命令有:
1:输出单向循环链表的所有结点的值
2:查找第i个结点或值为某一个值的结点
3:在指定的地方插入一个结点
4:删除指定的结点
我有个还没完成的程序 请指教 能帮忙完成主函数的调用最好 希望有个菜单!
HOHO~~不过不和这一样,已经交到老师那了,还是得谢谢楼主了
冰雪再寒冷严冬再漫长,也无法阻挡春的回归。可我们都忘却了,春天再逼近,也无法阻挡下一个冬天的来临……
我画了画删除重复函数void Delete_Repeat_Node(node *head),算法是第3个几结点和第2个结点开始比较开始的,但是直到最后都没和第1结点个比较。我觉得应该在后面加上和第1个结点的比较。
/**********************************/
/* 删除重复 */
/**********************************/
void Delete_Repeat_Node(node *head)
{
node *p,*pre,*s;
pre=head->next;
p=pre->next;
while(p)
{
s=p->next;
while(s&&s->info!=p->info)
{
s=s->next;
}
if(s)
{
pre->next=p->next;
free(p);
p=pre->next;
}
else
{
pre=p;
p=p->next;
}
}
if(s->next==pre->next)/*用s和pre比较*/
{
p->next=s->next;
free(s);
}
}
不知道是否正确,若有错误,请大家指正