首页 新闻 会员 周边

新人小白求带~~~~C语言创建循环链表

0
悬赏园豆:5 [已解决问题] 解决于 2016-03-19 13:51

用C语言创建循环链表头结点怎么设啊,还有循环链表中末尾还需要加null吗

这样写对吗

typedef struct Node{
 int data;
 struct Node *llink;
 struct Node *rlink;
}Node, *dll;          
dll creat_dll()          
{
 Node *head,*p;
 head=(Node *)malloc(sizeof(Node)) ;    
 head->llink=head;
 head->rlink=head;
 int x,i;
 printf("请输入节点的值:");
 for(i=0;i<5;i++)
 {
  scanf("%d",&x);
  p=(Node *)malloc(sizeof(Node));
  p->data=x;
  p->llink=head;
  head->rlink=p;
  p->rlink=head;
  head->llink=p;
  printf("%d ",p->data);      
  head=head->rlink;
  
 }
}

宿舍老五啊的主页 宿舍老五啊 | 初学一级 | 园豆:86
提问于:2016-03-12 19:11
< >
分享
最佳答案
1

最后一个节点指向第一个这叫循环链表.双向链表只是每个元素都有2个指针.指向他的前后元素.

收获园豆:5
吴瑞祥 | 高人七级 |园豆:29449 | 2016-03-12 19:52

就是要创建循环链表,我这样写的话行吗 ,感觉头结点那里有点问题啊

宿舍老五啊 | 园豆:86 (初学一级) | 2016-03-12 20:12
其他回答(1)
0

头结点只是一个指针,循环链表最后一个节点指向头结点

D.Angelo | 园豆:216 (菜鸟二级) | 2016-03-13 19:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册