收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
}
else
{
head = CreatNode(head);
Node \* list=head;
for (int i=1; i<length; i++)
/\*创建并初始化一个新结点\*/
{
Node \* body=(Node\*)malloc(sizeof(Node));
body->pre=NULL;
body->next=NULL;
body->data=rand()%MAX;
/\*直接前趋结点的next指针指向新结点\*/
list->next=body;
/\*新结点指向直接前趋结点\*/
body->pre=list;
/\*把body指针给list返回\*/
list=list->next;
}
}
/\*加上以下两句就是双向循环链表\*/
// list->next=head;
// head->prior=list;
return head;
}
### 3.双向链表的插入
根据数据添加到双向链表中的位置不同,可细分为以下 3 种情况:
**1.添加至表头**
将新数据元素添加到表头,只需要将该元素与表头元素建立双层逻辑关系即可。
换句话说,假设新元素节点为 temp,表头节点为 head,则需要做以下 2 步操作即可:
temp->next=head; head-&