设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 4301|回复: 1
打印 上一主题 下一主题

删除单链表重复元素

[复制链接]

3

主题

0

好友

25

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-4-23 15:07:53 |只看该作者 |正序浏览
Node *CompareList(Node *pHead)//删除重复元素
{
        Node *pNext,*tmp;
        if(pHead == NULL)
        {
                printf("链表为空,无法操作\n");
                exit(0);
        }
        else
        {
                while(pHead !=NULL)
                {
                        pNext = pHead->next;
                        while(pNext != NULL)
                {
               
                        if(pHead->Elem == pNext->Elem)
                        {
                                tmp = pNext->next;
                                free(pNext);
                                pNext = tmp;
                        }
                        else pNext = pNext->next;
                }
                        pHead = pHead->next;
                }
        }
    return pHead;
}
此算法不知道哪里出问题了,运行完之后删除了所有的元素。
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2017-4-25 00:02:52 |只看该作者
pHead = pHead->next; 啥情况?
这放在循环里,不是把 pHead 一直移到最末尾了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-22 01:26 , Processed in 0.014536 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部