生成c语言 建立双向链表 的代码
时间: 2023-03-15 18:01:38 浏览: 117
C++ 构造双向链表的实现代码
双向链表的C语言实现示例:#include<stdio.h>
#include<stdlib.h>// 定义链表节点类型
typedef struct node
{
int data;
struct node * next;
struct node * prev;
}NODE;// 创建链表
NODE * create_list(int length)
{
NODE * head = NULL;
NODE * p = NULL;
NODE * q = NULL;
int i;
for(i=0; i<length; i++)
{
// 申请节点
p = (NODE *)malloc(sizeof(NODE));
p->data = i;
p->next = NULL;
p->prev = NULL; // 将节点连接到链表中
if(head == NULL)
{
head = p;
q = p;
}
else
{
p->prev = q;
q->next = p;
q = p;
}
} return head;
}// 打印链表
void print_list(NODE * head)
{
NODE * p = head;
while(p != NULL)
{
printf("%d\t", p->data);
p = p->next;
}
printf("\n");
}int main(void)
{
// 创建链表
NODE * head = NULL;
head = create_list(10);
// 打印链表
print_list(head); return 0;
}
阅读全文