数据结构中的链表、树与二叉搜索树详解
1. 单链表操作
在单链表操作中,插入和删除是常见的操作。下面我们来详细分析插入操作的实现。
int insert(NODE **list, NODE *p) // insert p to end of *list
{
NODE *q = *list;
if (q == 0)
// if list is empty:
*list = p;
// insert p as first element
else{
// otherwise, insert p to end of list
while(q->next)
// step to LAST element
q = q->next;
q->next = p;
// let LAST element point to p
}
p->next = 0;
// p is the new last element.
}
上述代码实现了将节点 p 插入到链表末尾的功能。其操作流程如下:
1. 首先判断链表是否为空,如果为空,则直接将 p 作为链表的第一个元素。
2. 如果链表不为空,则遍历链表,找到最后一个节点,将其 next 指针指向 p 。
3. 最后将
超级会员免费看
订阅专栏 解锁全文
2141

被折叠的 条评论
为什么被折叠?



