c++基础之插入和删除链表节点
2017-09-07 23:00
302 查看
按顺序插入节点由于每个节点插入的时候,都是按顺序插入的,所以最终这个链表时按顺序排列的。
如何按顺序插入?
方法:在插入时,遍历链表,并比较ID的值,找到目标位置。
注意:链表插入的核心操作,是找到目标位置,并记录前一个节点pre。
新节点直接挂在pre后面就行了,这个操作很简单。
删除节点:
pre->next=obj->next;
free(obj);
如何按顺序插入?
方法:在插入时,遍历链表,并比较ID的值,找到目标位置。
注意:链表插入的核心操作,是找到目标位置,并记录前一个节点pre。
新节点直接挂在pre后面就行了,这个操作很简单。
obj->next=pre->next; pre->next=obj;
int insert(Student* obj)
{
Student* cur=m_head.next;//当前节点current
Student* pre=&m_head;//上一个节点previous
while(cur)
{
if(obj->id<cur->id)//找到这个位置
break;
pre=cur;
cur=cur->next;//找到最后一个对象
}
//插入到pre节点的后面
obj->next=pre->next; pre->next=obj;
return 0;
}
删除节点:
pre->next=obj->next;
free(obj);
相关文章推荐
- C++中链表的创建、输出、节点删除、节点插入、翻转、清空
- golang基础-结构体、结构体链表前后插入、节点添加删除
- C++基础-链表的建立、插入和删除
- C/C++删除单向链表全部匹配节点
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- 数据结构---单链表(建立,节点删除,节点插入)
- (C++版)链表(二)——实现单项循环链表创建、插入、删除等操作
- 链表的相关操作查找插入删除(c++ 数据结构)
- 实现双向链表删除一个节点P,在节点P后插入一个节点
- 单链表的建立,测长度,打印,删除,插入,逆置c++代码实例及运行结果
- c++链表 建立 输入 输出 删除结点 插入结点 释放链表 的函数
- 链表中头和尾节点/指针的常规用法:插入、删除、遍历
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- C++删除链表中间节点的方法
- c++实现单链表创建,删除,遍历,插入,修改操作
- [C++]LeetCode 19: Remove Nth Node From End of List(删除链表中倒数第n个节点)
- 【算法之链表(三)】单链表中,在仅允许使用一个指针的情况下,在指定的节点前面插入以及删除一个节点
- 单链表的建立,测长度,打印,删除,插入,逆置c++代码实例及运行结果
- c++实现双向链表的建立,插入,删除,合并,打印
- 链表的基础操作总结(链表创建,插入,删除,遍历等等)