吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1111|回复: 2
收起左侧

[求助] 单链表--指定结点前插操作

[复制链接]
163585580 发表于 2021-4-24 16:36
本帖最后由 163585580 于 2021-4-24 16:44 编辑

求助各位大佬,下面是单链表--指定结点前插操作的代码,有两个问题就是
1.中间:  s->data=e;合不合法,是否去掉不写也行?
2.各位大佬学数据结构的时候用的是啥编译器啊?咱跟王道书上敲得一摸一样,但CLion里面就是运行不了?感觉这代码既有c又有c++,(c里的指针,c++的引用符号&),现在都是手写 ,敲了也报错,各位大佬当初是用什么办法解决的呀?

//LNode *p:指指定的结点,ElemType e:指要插入的元素
bool InsertPriorNode(LNode *p,ElemType e){
    if(p==NULL){
        return false;
    }
    LNode *s=(LNode *)malloc(sizeof(LNode));
    if(s==NULL){
        return false;
    }
    s->data=e;
    s->next=p-next;
    p->next=s;

    s->data=p->data;
    p-data=e;
    return true;
}



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

withoutObject 发表于 2021-4-29 15:25
这段代码没有引用啊,我看着是只有C语言
EzGDNull 发表于 2021-4-30 23:38
本帖最后由 EzGDNull 于 2021-5-1 00:16 编辑

[C] 纯文本查看 复制代码
#define ElemType int
typedef struct LNode {

    ElemType   data;       //数据域

    struct LNode* next;   //指针域

}LNode, * LinkList;

bool InsertPriorNode(LNode* p, ElemType e) {
  if (p == NULL) {
        return false;
    }
    int tempt;
    LNode* s = (LNode*)malloc(sizeof(LNode));
    if (s == NULL) {
        return false;
    }
    s->data = e;
    s->next = p->next;
    p->next = s;
    tempt = s->data;
    s->data = p->data;
    p->data = tempt;    return true;
}

int main(void)
{
   
    LNode* l1 = (LNode*)malloc(sizeof(LNode));
    l1->data = 1;
    l1->next = NULL;
    LNode* l2 = (LNode*)malloc(sizeof(LNode));
    l2->data = 3;
    l2->next = NULL;
    l1->next = l2;

    InsertPriorNode(l2, 2);

    while (l1)
    {
        printf("%d\n", l1->data);
        l1 = l1->next;
    }
    system("pause");    return 0;
}

在p的节点后插入一个节点,然后将p节点的值和插入节点的值交换,这就相当于在p节点前插入一个节点了,第一个问题:你的代码中这一句s->data=e;是必须的,后面的代码就有点不对了;
第二个问题,我上面代码是在vs2020中运行的,只要声明好结构体和数据类型,应该用什么编译器都可以。上面代码都是c语言,没有用到c++。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-17 04:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表