| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1929 人关注过本帖
标题:请问大家单链表按结点的前插操作,带头结点的,传入头结点的方法,这个代码 ...
只看楼主 加入收藏
Gloria_zhang
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-10-29
结帖率:71.43%
收藏
已结贴  问题点数:10 回复次数:2 
请问大家单链表按结点的前插操作,带头结点的,传入头结点的方法,这个代码哪里错了?
程序代码:
bool InsertPriorNodeTwo(LinkList &L,LNode *p,ElemType x){
    if(p==NULL) return false;
    LNode *s=(LNode *)malloc(sizeof(LNode));
    if(s==NULL) return false;
    s=L->next;
    while(s!=NULL)
        if(s!=(p-1)) s=s->next;
    LNode *q=(LNode *)malloc(sizeof(LNode));
    q=p-1;
    s->data=x;
    s->next=q->next;
    q->next=s; 
    return true;


求大神指教,本人新手小白
搜索更多相关主题的帖子: 代码 next return 结点 单链表 
2022-01-16 11:19
Gloria_zhang
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-10-29
收藏
得分:0 
我的思路就是传入头结点然后遍历找到p结点前面的一个结点。然后将s插到p前面一个结点的后面。实现p结点前插操作,但是代码我不太会写,求大神指教。
2022-01-16 11:21
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:10 
程序代码:
bool InsertPriorNodeTwo(LinkList &L,LNode *p,ElemType x){
    if(p==NULL) return false;
    LNode *s=(LNode *)malloc(sizeof(LNode));//申请待插入结构体空间
    if(s==NULL) return false;
    s=L->next;//申请的空间被你遗弃了,再没有指针指向你申请的空间了
    while(s!=NULL)
        if(s!=(p-1)) s=s->next;//p-1又是什么谜之操作,难道你的链表结构是数组形式的吗
    LNode *q=(LNode *)malloc(sizeof(LNode));
    q=p-1;//q又白白申请了被遗弃的空间
    s->data=x;//s应该是一个空指针,你给他赋值。。。
    s->next=q->next;//回炉重学吧,把指针的章节掌握了再来写链表的代码
    q->next=s; 
    return true;
2022-01-18 11:04
快速回复:请问大家单链表按结点的前插操作,带头结点的,传入头结点的方法,这个 ...
数据加载中...
 
   



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

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