3个回答
展开全部
我理解带头结点的单链表总共有N+1个节点,第一个节点是头结点,没有有效数据,后面N个节点都是用来存储有效数据的。
1. 构造。头结点的next指针赋值为空即可。
2. 插入操作。
首先初始化一个N>=i的链表,就是设定一个N值,用循环方式为每个节点设置data,并将next指向下一个节点,这里注意应针对每个节点分配内存,保证每个节点的next指针都不是野指针。
其次从头节点的next指针开始依次遍历,用循环,找到第i个,记录第 i-1个节点的next,给第i-1个节点的next赋值为新节点的地址,新节点的next赋值为刚才记录的地址,其实就是标准的插入操作。
3.删除。采用循环找到被删除的节点i,先记录到将返回的e中,然后调整第i-1个节点的next为第i+1个节点的地址,就可以了,也是标准的删除操作,记得释放被删除节点的内存。
手边没有编译器,简单写了一下思路,感觉比写代码还麻烦。其实就是标准的链表操作,是学习指针应该掌握的重要内容,建议你亲自动手编一编,调试一下,这样收获最大。
1. 构造。头结点的next指针赋值为空即可。
2. 插入操作。
首先初始化一个N>=i的链表,就是设定一个N值,用循环方式为每个节点设置data,并将next指向下一个节点,这里注意应针对每个节点分配内存,保证每个节点的next指针都不是野指针。
其次从头节点的next指针开始依次遍历,用循环,找到第i个,记录第 i-1个节点的next,给第i-1个节点的next赋值为新节点的地址,新节点的next赋值为刚才记录的地址,其实就是标准的插入操作。
3.删除。采用循环找到被删除的节点i,先记录到将返回的e中,然后调整第i-1个节点的next为第i+1个节点的地址,就可以了,也是标准的删除操作,记得释放被删除节点的内存。
手边没有编译器,简单写了一下思路,感觉比写代码还麻烦。其实就是标准的链表操作,是学习指针应该掌握的重要内容,建议你亲自动手编一编,调试一下,这样收获最大。
展开全部
以及定义在该结构上的一组操作。程序设计语言中的数据类型是一个值的集合和定义在这个值集上一组操作的总称。抽象数据类型可以看成是对数据类型的一种抽象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以及定义在该结构上的一组操作。程序设计语言中的数据类型是一个值的集合和定义在这个值集上一组操作的总称。抽象数据类型可以看成是对数据类型的一种抽象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询