| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 795 人关注过本帖
标题:删除链表的相同元素
只看楼主 加入收藏
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
结帖率:76.92%
收藏
 问题点数:0 回复次数:2 
删除链表的相同元素
程序代码:
struct Student *deletes(struct Student *p1){
    struct Student *head,*p0,*p2,*p3,*temp;
    int n,flag;
    p2=p1;
    p3=p1;
    head=p2;//返回的是p2这个链表
    while(p3!=NULL){
            flag=0;
            n=p3->num;
            while(p2!=NULL){
                if(p2->num != n){
                    p0=p2;//记录住前驱节点地址
                    p2=p2->next;
                }else if(p2->num==n){
                    if(flag==1){
                        if(p2==head){
                            head=p2->next;
                        }else{
                            temp=p2;//为了可以释放内存
                            p0->next=p2->next;
                            p2=p2->next;
                            free(temp);
                        }               
                    }else if(flag==0){//判断这个节点是不是第一次出现
                        flag=1;
                        p0=p2;
                        p2=p2->next;
                    }
                }
            }
        p3=p3->next;
    }
    return head;
}

我想删除一个节点 的相同元素,编译没有问题,就是删除不聊,我输入什么链表,返回的还是以前的
搜索更多相关主题的帖子: 元素 
2015-08-19 14:29
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
收藏
得分:0 
回复 2楼 小烽烽
这全是你写的代码吗
2015-08-19 14:59
快速回复:删除链表的相同元素
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026902 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved