| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 695 人关注过本帖
标题:[求助]谁能给双向链表的例子?
只看楼主 加入收藏
wwjazz
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-8-24
收藏
 问题点数:0 回复次数:5 
[求助]谁能给双向链表的例子?
谁能给双向链表的例子?书上给的那些和网上找的五花入门的,好难理解,麻烦那位高手写个建立双向链表的例子就行,最好能有个注释,先谢了,本人太笨了,呵呵
搜索更多相关主题的帖子: 链表 例子 
2006-09-02 15:02
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

去数据结构随便找下都有,
我现在的电脑里面没了,都是重装系统惹的祸


对不礼貌的女生收钱......
2006-09-02 15:09
wwjazz
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-8-24
收藏
得分:0 

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct student
{char name[80];
int a,b;
struct student *next;
}*creat();

struct student *creat()
{struct student *head=NULL,*tail=NULL,*p,*pp;
char name[80];
int a,b;
int size=sizeof(struct student);
scanf("%s%d%d",name,&a,&b);
while (a!=0){
p=(struct student *)malloc(size);
p->a=a;p->b=b;p->next=NULL;
strcpy(p->name,name);
if (head==NULL)
head=tail=p;
else
tail->next=p;
tail=p;
scanf("%s%d%d",name,&a,&b);}
for (pp=head;pp;pp=pp->next)
printf("%-7s%-5d%-5d\n",pp->name,pp->a,pp->b);
return (head);
}

void main()
{struct student *head;
head=creat();


这是一个单向链表,请问怎么改就变成双向链表呢?


2006-09-02 15:34
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 

#include "stdlib.h"
#include "string.h"
struct student
{char name[80];
int a,b;
struct student *rlink,*llink;
};

struct student *creat(void)
{
struct student *head=NULL,*tail=NULL,*p,*pp;
char name[80];
int a,b;
int size=sizeof(struct student);
scanf("%s%d%d",name,&a,&b);
while (a!=0){
p=(struct student *)malloc(size);
p->a=a;p->b=b;p->rlink=p->llink=NULL;
strcpy(p->name,name);
if (head==NULL)
head=tail=p;
else
{
tail->rlink=p;
p->llink=tail;
}
tail=p;
scanf("%s%d%d",name,&a,&b);}
for (pp=head;pp;pp=pp->rlink)
printf("%-7s%-5d%-5d\n",pp->name,pp->a,pp->b);
return (head);
}


对不礼貌的女生收钱......
2006-09-02 15:52
wwjazz
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-8-24
收藏
得分:0 
嘿嘿,感谢楼上的,学习ING~~~~~~~

2006-09-02 16:05
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

#include<stdio.h>
#include<malloc.h>
typedef struct node{
int info;
struct node *front;
struct node *rear;
};
node *creat()
{
node *head,*pre,*p;
int num;
head=(node *)malloc(sizeof(node));
pre=head;
printf("输入关键值:");
scanf("%d",&num);
while(num!=-1)
{
p=(node*)malloc(sizeof(node));
p->info=num;
pre->rear=p;
p->front=pre;
p->rear=NULL;
pre=p;
printf("输入关键值:");
scanf("%d",&num);
}

pre->rear=NULL;
return(head);
}
void Display(node *head)
{
node *p=head->rear;
printf("打印链表:");
while(p!=NULL)
{
printf("%d---->",p->info);
p=p->rear;
}
printf("^\n");
}
/*int main()
{
node *head;
head=creat();
Display(head);
return(0);
}*/



倚天照海花无数,流水高山心自知。
2006-09-02 19:37
快速回复:[求助]谁能给双向链表的例子?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014883 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved