双向链表的创建和输出


#include <stdio.h>

#include <stdlib.h>

typedef struct aa{  

int data;  

struct aa  *rlink;

  struct aa  *llink;

}DLink;

DLink * createLink(DLink *head){//头节点  

   DLink *p,*q;

int n; 

   head=p=(DLink *)malloc(sizeof(DLink));

 head->rlink=NULL; 

   scanf("%d",&n); 

   while(n!=-1){//以输入-1作为输入数据的结束

 q=(DLink *)malloc(sizeof(DLink));

 p->llink=q;

 q->rlink=p;

 p=p->llink;

 p->data=n;

 scanf("%d",&n); 

}

  return head;

}

void printLink(DLink *p){ 

while(p!=NULL){

  printf("%d",p->data); 

 p=p->llink;

 }

}

int main(){  int i,j,n;//i是要插入的序号,n是要插入的数据,j是要删除的序号    DLink *L;    printf("请输入双向链表的数据,输入-1结束结束输入数据:");    L=createLink(L);//创建链表    printLink(L->llink);//输出链表

return 0;

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM