c语言 单链表-单链表的插入 中的问题

问题描述

单链表的插入 中的问题

要求:在带头节点的单链表llist中,p所指的节点后面插入元素x
q->info=x;q->link=p->link;p->link=q;return 1;

其实我想问,p和p->link分别指的是什么意思啊??跪求大神指点!!!

解决方案

 q->info=x;//将待插入的 节点的info成员赋上值
 q->link=p->link; //将待插入节点的link指针指向p的下一个节点(此时p的link指针和q的link指针都指着下一个节点)
 p->link=q; //将p的link指针指向待插入的节点q(这样就完成了节点q的插入)

解决方案二:

p指当前结点 p->link指p的下一个结点

解决方案三:

单链表问题

时间: 2024-11-04 18:57:03

c语言 单链表-单链表的插入 中的问题的相关文章

c语言-C语言解答,单链表实现

问题描述 C语言解答,单链表实现 假设某超市销售有m种商品(假设商品的编号为123--m),有n台前台收款机(假设收款机的编号为123--n)进行收款.每次收款以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额.记录由4个域组成:收款机编号.商品编号.销售数量.销售金额.构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中.系统要求实现结构体数据写入文件,分别构建以收款机和商品为单位的数据分类函数,统计销售总额,构建单链表等功能. 解决方案 http

用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环。

问题描述 用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环. 用C语言计算一个单链表的长度,单链表的定义如下:要求使用递归,不得出现循环. 解决方案 如果链表有环,永远算不出来 只能假定,这个链表不是环形链表,也没有环 简单事情用递归做是低效率的,即便学习递归,也是不必要的 递推, 可以用递归实现 也可以用迭代实现 前者无循环,后者有 解决方案二: int listLength(List *l) { if(l->next!=NULL) { l=l->next; ret

c++ 单链表 单链表的附加头结点的i等于零吗?

问题描述 c++ 单链表 单链表的附加头结点的i等于零吗? 单链表的附加头结点的i等于零吗?i的意思是第i个结点 单链表的附加头结点的i等于零吗?i的意思是第i个结点 单链表的附加头结点的i等于零吗?i的意思是第i个结点 解决方案 你首先要说明i的意思,单链表是没有编号的,只有先后顺序 解决方案二: 单链表--删除第i个结点 解决方案三: 应该来说头结点是不进行计算的吧 而且一般i也是从1开始的,如果i是1的话,就表示把待插入的节点插入到头结点之后 楼主也可以贴一点代码,这样能更清楚的表达意思

视频-c#链表问题,包括最基础的单链表双链表以及循环链表的使用

问题描述 c#链表问题,包括最基础的单链表双链表以及循环链表的使用 新手,最近在学c#,请问有谁知道关于链表的视频,包括单链表,单循环链表,双循环链表等等,从链表最基础的开始讲的视频,里面介绍使用链表最基础的代码,谢了谢了!

单链表-删除链表的节点出现问题

问题描述 删除链表的节点出现问题 我创建了一个链表,链表的第一个节点不是空白的.我想用free函数删除第一个节点,发现出错.删除其他的节点没有问题.不知道什么缘故. 解决方案 你的链表怎么定义的? 是 typeof struct Node { Node next; } Node * head这样定义的么? 那么你删除首节点要这么做 prehead = head; head = head->next; free(prehead); 解决方案二: 删除节点时: Node *s,*p; s=p->n

c语言编写了个链表,但无法正确的输出,求大神指导

问题描述 c语言编写了个链表,但无法正确的输出,求大神指导 链表方面一直不是特别清楚.自己编了个链表,但却无法正确输出,求大神帮忙 #include #include typedef struct lnode Lnode; struct lnode { int data; Lnode *next; }; Lnode *makeNode(int data) { Lnode *new_node=(Lnode *)malloc(sizeof(Lnode)); if(new_node==NULL) {

用c语言编程,关于链表的

问题描述 用c语言编程,关于链表的 请教各位大神:实现创建链表,输出链表两个函数怎么编程序... 输入两个非降序列,转换成两个非升序列,合并成一个非升序列,用链表实现 解决方案 C语言编程入门--链表 解决方案二: 您这问题也太多了吧.创建链表都要问,创建链表书上都有.第一行的问题自己想办法. 第二行问题我回答下,可以想象一下当一个链表从非降序转化成非升序时,其实就是将链表逆序.可以新建一个链表,然后遍历要逆序的链表,每次将每个元 素插入到新链表的第一个位置.这样遍历结束后新链表就是非升序的.

java语言 二叉树(三叉链表存储结构)的深拷贝

问题描述 java语言 二叉树(三叉链表存储结构)的深拷贝 爆炸,这个非递归好复杂,规定不使用栈的非递归,递归都会,非递归就蒙了,有大神能挑战一下吗,急 解决方案 二叉树是一种特殊的数据结构,我们可以对它线性化,方法是,0表示根节点,1 2表示它的子节点,3 4 5 6表示1 2的子节点7 8 9 10 11 12 13 14是再下层-- 很明显,知道一个节点,它的子节点的索引值就是x2+1和x2+2,它的父节点就是-1再整除2. 有了这个知识点,就可以用数组来表示二叉树,也就不用递归和堆栈了.

用C语言实现数据结构的链表创建时出错

问题描述 用C语言实现数据结构的链表创建时出错 请教大家,下面的程序哪里有错啊?十分感谢 #include "stdio.h" #include "malloc.h" #include "stdlib.h" #define NULL 0 #define OK 1 typedef int ElemType; typedef int Status; typedef struct LNode{ ElemType data; struct LNode *