在单链表基础上扩展一个指针域,指向前驱
#include<stdio.h>
#include<stdio.h>
#define flag 0
#include<malloc.h>
typedef int status;
typedef int elemtype;
typedef struct dlnode{
elemtype data;
struct dlnode *prior,*next;
}dlnode,*dlinklist;
dlinklist dlist(){
dlinklist l=NULL,s,r;
int x;
scanf("%d",&x);
while(x!=flag){
s=(dlnode*)malloc(sizeof(dlnode));
s->data =x;
if(l==NULL) l=s;
else {
r->next =s;s->prior =r;}
r=s;
scanf("%d",&x);
}
if(r!=NULL) r->next=NULL;
l->prior =NULL;
return l;
}
int main(){
dlnode *L;
L=dlist();
}