在带头结点的双向循环链表中插入一个新的结点,需要修改的指针域数量是多少

2024-11-30 06:53:10
推荐回答(2个)
回答(1):

一般双向链表节点定义 struct node{struct node*prev; struct node *next};插入一个新节点,struct node * newnode; 该新节点的prev要指向前面一个节点,next指向后面一个节点,前面一个节点的next要指向newnode,newnode 后面一二节点的prev要指向newnode,所以要修改4个指针,这个画个图 最好理解了

回答(2):

当你插入一个新的结点时,需要将你插入位置的前一个结点的指针*next改为你要插入数据的地址,
你插入数据的*next指向后一个结点。
因为你插入的是一个双向循环链表
所以修改指针域的数量是2