#include<cstdio>
#include<cstdlib>
typedef struct DoubleLinkedList
{
int data;
struct DoubleLinkedList *pre;
struct DoubleLinkedList *next;
}DlinkedList_Node;
//建立链表
DlinkedList_Node* createDLink()
{
DlinkedList_Node *head,*p,*s;
int x;
head = (DlinkedList_Node*)malloc(sizeof(DlinkedList_Node));
p = head;
while(1)
{
printf("please input the data: \n");
scanf("%d",&x);
if(x != 65535)
{
s = (DlinkedList_Node*)malloc(sizeof(DlinkedList_Node));
s ->data = x;
s-> pre = p;
p->next = s;
p=s;
}
else
{
printf("\n数据输入结束\n");
break;
}
}
p->next = NULL;
head = head ->next;
head->pre = NULL;
return head;
}
//顺序、反序打印链表
void printDLink(DlinkedList_Node
C语言实现双向链表删除节点、插入节点、双向输出等操作
最新推荐文章于 2024-08-29 20:55:33 发布
本文介绍了如何使用C语言创建、操作双向链表,包括插入节点、删除节点及正序、反序打印链表的功能。示例代码展示了具体实现过程,并通过实例演示了链表的操作结果。
摘要由CSDN通过智能技术生成