| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1043 人关注过本帖
标题:第一个结点怎么删除?
取消只看楼主 加入收藏
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
结帖率:97.44%
收藏
已结贴  问题点数:50 回复次数:2 
第一个结点怎么删除?
ST *del(ST *trans_head2,int stu_num2)//函数功能:删除stu_num2所在的结点(目前第一个结点删除不了)           trans_head2是传来的头指针
{
    ST *p1,*p2,*p3;
    p3=trans_head2;
    p2=trans_head2;
    p1=trans_head2;
    if(trans_head2==NULL)
    {
        printf("无数据!");
    }
    else
    {
        while((p1->stu_num!=stu_num2)&&p1->next!=NULL)
        {
            p2=p1;
            p1=p1->next;
        }
        if(p1->stu_num==stu_num2)
        {
                p2->next=p1->next;
        }
    }
    free(p1);
    while(p3)//这步只是用来检测删除的效果
    {
        printf("%d %d %d %d\n",p3->stu_num,p3->grade_math,p3->grade_english,p3->grade_physics);
        p3=p3->next;
    }
    return trans_head2;
}


搜索更多相关主题的帖子: next 
2011-04-24 13:45
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:0 
回复 2楼 voidx
ST *trans_head2            这就是传来的头结点啊!

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-04-24 14:58
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:0 
回复 4楼 voidx
程序代码:
ST *creat(int n)
{
    int i;
    ST *head,*p,*p2;
    head=NULL;
    p=(ST*)malloc(sizeof(ST));
    printf("请输入学号,数学成绩,英语成绩,物理成绩: \n");
    scanf("%d%d%d%d",&p->stu_num,&p->grade_math,&p->grade_english,&p->grade_physics);
    p2=p;
    head=p2;
    for(i=0;i<n-1;i++)
    {
        p=(ST*)malloc(sizeof(ST));
        printf("请输入学号,数学成绩,英语成绩,物理成绩: \n");
        scanf("%d%d%d%d",&p->stu_num,&p->grade_math,&p->grade_english,&p->grade_physics);
        p2->next=p;
        p2=p2->next;
    }
    p2->next=NULL;

    return head;
}



这是创建链表的函数, 我一直都以为  head 就是头指针,但是按照您的说法,似乎是错的!麻烦帮忙改改!!

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-04-24 22:49
快速回复:第一个结点怎么删除?
数据加载中...
 
   



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

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