双向链表代码实现
C语言代码实现
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
typedef struct dlnode
{
char data;//data为结点的数据信息
struct dlnode *prior,*next;//prior和next分别为指向直接前驱和直接后继结点的指针
}DLNode;//单链表结点类型
DLNode *CreatLinkList()//建立带头结点的双向循环链表
{
char x;
DLNode *head,*s;
head=(DLNode *)malloc(sizeof(DLNode));//先生成含头节点发空双向循环链表
head->prior=head;
head->next=head;
printf("Input any char string:\n");
scanf("%c",&x);//结点的数据类型为char型,读入结点数据
while(x!='\n')
{
s=(DLNode *)malloc(sizeof(DLNode));//申请一个空结点
s->data=x;//将读入结点的数据赋给待插入结点*s
s