找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1577|回复: 9

[求助]怎样添加动态链?

[复制链接]
发表于 2009-11-2 03:45:02 | 显示全部楼层 |阅读模式 IP:江苏扬州
书上没介绍有动态的链表,MSDN也没怎么介绍
在下面的静态链表中怎样实现 添加和删除功能?

#include<iostream>
#include<string>
using namespace std;
struct Student{
int num;
string name;
float score;
Student *next;
};
int main()
{
Student stu[3],*head,*p;
stu[0].num=31001; stu[0].name="li"; stu[0].score=80;
stu[1].num=31002; stu[1].name="che"; stu[1].score=85;
stu[2].num=31003; stu[2].name="wang"; stu[2].score=90;

head=stu;
stu[0].next=&stu[1];
stu[1].next=&stu[2];
stu[2].next=NULL;
p=head;
do{
cout<<p->num<<' '<<p->name<<' '<<p->score<<endl;
p=p->next;
}
while(p!=NULL);
return 0;
}
发表于 2009-11-2 03:45:10 | 显示全部楼层 IP:江苏扬州
吃完饭再来看
回复

使用道具 举报

发表于 2009-11-2 03:45:13 | 显示全部楼层 IP:江苏扬州
今天才知道原来链表是这样的 。

找本数据结构的书,上面会很详细的介绍的。
回复

使用道具 举报

发表于 2009-11-2 03:45:17 | 显示全部楼层 IP:江苏扬州
链表的建立都是错误的。

链表是由指针连起来的,所以你那个数组拿来干嘛?
回复

使用道具 举报

发表于 2009-11-2 03:45:20 | 显示全部楼层 IP:江苏扬州
以下是引用aipb2007在2007-8-9 18:10:31的发言:

链表的建立都是错误的。

链表是由指针连起来的,所以你那个数组拿来干嘛?
我书上写这个是简单的链表
回复

使用道具 举报

发表于 2009-11-2 03:45:25 | 显示全部楼层 IP:江苏扬州
这样呢?
#include<iostream>
#include<string>
using namespace std;
struct Student{
int num;
string name;
float score;
Student *next;
};
int main()
{
Student a,b,c,*head,*p;
a.num=31001; a.name="li"; a.score=80;
b.num=31002; b.name="che"; b.score=85;
c.num=31003; c.name="wang"; c.score=90;

head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
do{
cout<<p->num<<' '<<p->name<<' '<<p->score<<endl;
p=p->next;
}
while(p!=NULL);
return 0;
}
回复

使用道具 举报

发表于 2009-11-2 03:45:29 | 显示全部楼层 IP:江苏扬州
意思差不多就是你上面这样,不过还有带改进!

呵呵~
回复

使用道具 举报

发表于 2009-11-2 03:45:33 | 显示全部楼层 IP:江苏扬州
以下是引用aipb2007在2007-8-9 18:10:31的发言:

链表的建立都是错误的。

链表是由指针连起来的,所以你那个数组拿来干嘛?
没有问题啊!!只是不是动态的而已,呵呵
回复

使用道具 举报

发表于 2009-11-2 03:45:38 | 显示全部楼层 IP:江苏扬州
以下是引用aipb2007在2007-8-9 18:22:28的发言:
意思差不多就是你上面这样,不过还有带改进!

呵呵~
怎样实现删除功能?
回复

使用道具 举报

发表于 2009-11-2 03:45:44 | 显示全部楼层 IP:江苏扬州
以下是引用a8451727在2007-8-9 18:18:08的发言:

这样呢?
#include<iostream>
#include<string>
using namespace std;
struct Student{
int num;
string name;
float score;
Student *next;
};
int main()
{
Student *phead=NULL,*p,*pend=NULL;

p=new student;

cin>>p->num>>p->name>>p->score;
p->next=NULL;

while(p->num>0)

{
if(phead==NULL)
phead=pend=p;
else
pend->next=p;
pend=p;
p=new student;
cin>>p->num>>p->name>>p->score;
p->next=NULL;

}
for(p=phead;p;p=p->next)
cout<<p->num<<p->name<<p->score<<endl;

return 0;
}


大概就是这样了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 01:30 , Processed in 0.147612 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表