在链表中插入元素
Inserting element in linked list
当我们执行insertLast(int item(函数时,在链表中,我们执行以下步骤:
struct node *temp;
struct node *newItem;
newItem = (struct node*)malloc(sizeof(struct node));
temp = head;
while(temp->next != NULL){
temp = temp->next;
}
temp->next = newItem;
newItem->next = NULL;
但是,如果我们这样做:
struct node *temp;
struct node *newItem;
newItem = (struct node*)malloc(sizeof(struct node));
temp = head;
while(temp != NULL){
temp = temp->next;
}
temp = newItem;
newItem->next = NULL;
我们收到一个错误,为什么会发生这种情况?
循环
while(temp != NULL){
...
}
将以 temp == NULL
终止,即在运行超过列表末尾之后。然后
temp = newItem;
将指向新创建对象的指针分配给 temp
变量 - 但这不再与列表相关。
因此,没有任何"错误"的理由(除了新项目没有附加到列表中(。
在第二个代码块中,不要将最后一个元素的链接设置为指向新插入的元素。
相关文章:
- 将二维数组的所有元素插入到一维数组中
- 如何将元素插入和迭代到这种映射.C++
- 无法在构造函数中执行设置元素插入
- 将数组的元素插入映射的时间复杂度是多少?
- 如何将元素插入到标准::地图的共享指针中?
- 如何将 n 个连续元素插入到元素类型不可复制的 std::vector 中?
- 将元素插入链接列表
- 创建一个函数以在给定位置将元素插入到列表中
- 我可以在一行代码中将向量中与条件匹配的所有元素插入到集合中吗?
- 为什么我不能将元素插入数组中的列表?
- 将多个偏移量的多个元素插入到一个矢量中
- 将元素插入排序数组
- 使用算法中的插入函数将元素插入空容器中,未给出预期的结果
- 使用动态分配创建数组并将元素插入其中
- 将元素插入字符串集 c++ 的向量中
- 如何将元素插入独特指针的多维矢量中
- 通过引用同一向量的元素插入到向量中
- 如何将元素插入 BST
- 如何将元素插入矢量的开头
- STL和元素插入中列表的动态分配