首先定义一个结构体,结构体内的next指针用来指向需要连接的下一个结构体地址。
struct Nodes
{
int datas;
struct Nodes* next;
};
使用malloc函数动态创建一个链表头,并将指针设置为空。
Nodes* head = (struct Nodes*)malloc(sizeof(struct Nodes));
head->next = nullptr;
创建第一个节点,并给数据赋值
Nodes* newnode1 = (struct Nodes*)malloc(sizeof(struct Nodes));
newnode1->datas = 1;
这里需要注意的是,需要将表头连接新插入节点,并将新节点的next指针设置为空,由于此为单向链表,需要先将next连接指针设置为空,在将头部节点,连接上,注意步骤。
newnode1->next = head->next;
head->next = newnode1;
如此循环再次创建一个新的节点,将新的节点插入头部,需要先将next指针指向后面一个节点,即为表头所连接的地址,再将表头连接上新插入的节点,就完成了新一轮的链表头部插入操作。
新节点的名称并不重要,重要的是需要找到第一个节点,才可以此遍历
Nodes* newnode2 = (struct Nodes*)malloc(sizeof(struct Nodes));
newnode2->datas =2 ;
newnode2->next = head->next;
head->next = newnode2;