C语言单链表节点

Python016

C语言单链表节点,第1张

如果已知一个节点指针pre和一个节点指针cur,要把cur插入到pre节点之后,很显然要保证链表不会断开而丢失后面的节点,要先把后面的节点指针(指向lat的指针)保存下来,即有cur->next

=

pre->next,然后把cur连接的一串链表连接到pre后面,即pre->next

=

cur

上面介绍了,在一个节点之后插入节点的情况。这是通常的情况。如果要向一个链表的头部插入节点,就只需要将新节点的下一个指针指向链表的头指针即可。

在这种情况下,有两点要注意:

1,链表是否为空链表

2,要插入的节点是不是空指针。

代码实现:

//向单链表中插入一个节点(插入在链开始处)

//输入参数:单链表的头指针和要插入的节点指针

//输出参数:无

//返回值:指向单链表的头指针

singlelist*

insert(singlelist

*head,singlelist

*node)

{

if(node

==

null)

{

return

head

}

else

if(head

==

null)

{

return

node

}

node->next

=

head

head

=

node

return

head

}

链表中,假设有一个头节点,即一个head指针指向链表的第一个节点,如果要查找目的节点,可以从头开始往后搜索,注意,head节点指向的是一个数据结构,该结构包括element(元素值),还有一个next指针,该指针指向下一个链表节点。遍历链表进行查找时,循环条件可以是while(pone !=NULL),在循环内部就不断调用pone=pone.next,一旦找到满足条件的就退出循环,即break。在这里假设链表为a->b->c,假设pone指向a节点,可以通过pone.element访问a节点的值,并且pone.next就是b,在循环过程中,pone=pone.next,如果当前的pone为a,那么执行这句话后就是将b给pone,即将pone指针指向b,在循环中一直使用这句话就可以保证pone一直向后移动直到找到目标节点。希望可以帮到你。