这种链表的注释不一定能给楼主讲清楚,如果楼主指针学的不错倒是可以
第一次学链表的话肯定要结合图来看
举两句的例子:
prea->next = pb; //prea的next指针指向了pb
pb = pb->next; //pb指向了它的next指针指向的节点,即pb指向了下一个节点
如果楼主听不懂的话,建议找个人面对面问问
C语言成语求代码标注~刚刚学习了线性表~~新手小白~~求带~~~谢谢各位大神
刚刚学习了数据结构~然后老师给了一个线性表的C程序,,然后好多地方看不懂·~~~希望哪位大神帮我把每条代码的意思标注一下~~~谢谢~~~
#include
#include
typedef struct Node
{
struct Node *next;
int value;
}Node, *List;
List merge(List a, List b)
{
Node *p, *pa, *pb, *prea;
if(a == NULL || b == NULL) 0;
p = a;
prea = a;
pa = a->next;
pb = b->next;
while(pa && pb)
{
if(pa == pb)
{
pb = NULL;
break;
}
else if(pa->value > pb->value)
{
prea->next = pb;
pb = pb->next;
prea = prea->next;
prea->next = pa;
}
else
{
if(pa->next == pb->next)
{
pb->next = NULL;
}
prea = pa;
pa = pa->next;
}
}
prea->next = pa ? pa : pb;
return p;
}
void print(List a)
{
Node *p = a->next;
if(!a) return;
while(p)
{
printf("%d ", p->value);
p = p->next;
}
putchar('\n');
}
List getList(int a[], int len)
{
int i;
Node head = (Node)malloc(sizeof(Node));
Node p = head;
head->next = NULL;
for(i = 0; i < len; i++)
{
Node *n = (Node)malloc(sizeof(Node));
n->value = a[i];
p->next = n;
p = n;
}
p->next = NULL;
return head;
}
int main(int argc, char *argv[])
{
{
int a[] = {1, 2, 3, 4};
int b[] = {0, 1, 5};
List la = getList(a, 4);
List lb = getList(b, 3);
print(la);
print(lb);
print(merge(la, lb));
}
printf("---------------\n");
{
int a[] = {0, 0, 0, 0};
int b[] = {0};
List la = getList(a, 4);
List lb = getList(b, 1);
lb->next->next = la->next->next;
print(la);
print(lb);
print(merge(la, lb));
}
{
int a[] = {0, 1, 3, 40};
int b[] = {0};
List la = getList(a, 4);
List lb = getList(b, 1);
lb->next->next = la->next->next->next;
print(la);
print(lb);
print(merge(la, lb));
}
return 0;
}
- 点赞
- 写回答
- 关注问题
- 收藏
- 复制链接分享
- 邀请回答
1条回答
为你推荐
- c语言实现的顺序存储的线性表删除元素出现错误
- c语言实现线性表初始化表长不为0是代码哪里出错了么,实在看不出来了。。多谢各位
- c语言
- 2个回答
- c 线性表初始化 代码错误 异常 看不懂原因了。。。。。。
- c语言
- 3个回答
- 求线性表LA和LB的并集LC,我这样做为啥子不对哈?初学者在练习这几种数据结构的基本函数。代码在下边儿:
- 请问为什么我用C语言写的线性表的链式存储结构的遍历输出值无法输出。而且代码没有警告和错误
- c语言
- 1个回答
- 请问为什么我写的C语言中顺序存储的线性表的输出有这个错误
- c语言
- 1个回答
- 数据结构------线性表
- 线性表
- 1个回答
- SqList结构体中的length是怎么改变线性表的长度的?求大神解答
- 求大神看看这个程序怎么弄 线性表的插入算法 老显示有错误
- c语言
- 1个回答
- 做了一个小时的面试题(没有过 希望大家帮忙答下 虽然很幼稚 毕竟每个人都是这么过来的吗 感激了!)
- IT行业问题
- 计算机技术
- it技术
- 编程语言问答
- 互联网问答
- 2个回答
- 链表线性表的增和删,希望给出详细源代码
- c
- 线性表
- 链表
- 2个回答
- C语言中代码执行顺序错误
- c
- 2个回答
- 求大佬注释c语言数据结构线性表
- c
- 线性表
- 注释
- 数据结构
- 1个回答
- 一个链表的小问题,求大神看一下。
- c
- 4个回答
- 求大神,关于C语言的问题
- c
- 3个回答
- c语言版 合并顺序线性表
- c
- 3个回答
- 数据结构 算法如何编译运行··跪求各位路过的大神帮帮忙啊
- 算法
- 线性表
- 数据结构
- 2个回答
- C语言中顺序线性表的合并
- c
- java
- 4个回答
- VS2010 代码有红色下划线 哪位大神求帮忙!
- string
- visual studio
- mfc
- 7个回答
- 【关于C语言线性表参数的问题】
- c
- 参数
- 2个回答