C语言里面链表是一种常用的数据结构,创建链表的方式有很多,其中使用压栈的方式比较方便,本文使用指针实现直接在一个已有的链表头部插入一个新的结点。
比如已经存在链表struct node *BuildList(),链表中有两个结点0,1,head指向0,然后在0的前面添加4个结点,结点中的数据分别是2,3,4,5。
代码如下:
#include <stdlib.h>#include <stdio.h>
struct node
{
int data;
struct node *next;
};
struct node *BuildList() //函数创建一个只有数字0和1两个结点的链表
{
struct node *head = malloc(sizeof(struct node));
struct node *one = malloc(sizeof(struct node));
head->data = 0;
head->next = one;
one->data = 1;
one->next = NULL;
}
void push_node(struct node **newhead, int data)