c - 在函数create_new_node中连接节点的所有链接是否可以?
问题描述
我正在学习链表,我只是想知道用函数 *create_new 连接新节点的所有链接是否是好/坏的做法。
从我在网上阅读的内容来看,它们只是下一个链接,但我也想让它连接上一个链接。这是我的代码:
node *create_new (int new_data, node *prev, node *next)
{
node *new_node = malloc(sizeof(node));
if (new_node == NULL)
{
printf("Error in creating new node\n");
exit(0);
}
new_node->data = new_data;
new_node->next = next;
prev->next = new_node;
return new_node;
}
解决方案
您的代码有效。但是,对于单链表,您不需要通过next
,因为prev->next
应该指向next
:
node *create_new (int new_data, node *prev)
{
node *new_node = malloc(sizeof(node));
if (new_node == NULL)
{
printf("Error in creating new node\n");
exit(0);
}
new_node->data = new_data;
new_node->next = prev->next;
prev->next = new_node;
return new_node;
}
推荐阅读
- android - 从 snap 中使用 android studio 颤振
- html - window.location.href thymeleaf 多个变量
- delphi - Win7 上的 TImageList 读取错误(ComCtl32 问题?) - 它是如何/为什么会发生的?
- bash - 如何使 sed(使用 bash)在换行符处停止?
- python - AttributeError:“元组”对象没有“适合”属性
- android - gradle build 中的 android studio 更新和问题
- javascript - 如何正确使用 React-route?
- angular - 在结帐(购物车)页面(Angular 7)中获取产品的总价
- typescript - TypeScript:如何在不使用明确赋值断言的情况下使用 setter 初始化类的成员?
- angular - Angular 6在POST后不更新视图