编程论坛
注册
登录
编程论坛
→
C++教室
链表的问题
armacd
发布于 2008-04-24 13:21, 590 次点击
哪个高手给我提供两个完整的链表代码
一个基于c的 一个基于面向对象的
万分感谢
6 回复
#2
love154139
2008-04-24 18:41
没说具体到底什么功能。。。
#3
armacd
2008-04-27 14:37
求助
功能齐全一点 添加 删除 插入等等
谢谢各位了 急
#4
wangweic
2008-04-29 11:58
要单链表,还是循环链表
#5
wangweic
2008-04-29 12:09
单链表
typedef sturct LNode{
char data;
char next;
}LNode,*LinkList;
//初始化
int initlinklist(LinkLsit L)
{
L=new LNode;
if(!L)exit(1);
L->next=NULL;
return 0;
}
//输入一个链表
int insert(LinkList L)
{
LinkList q; q=L; //辅助指针
char c;cin>>c;
while(c!=' ')
{
LinkList p;
p=new LNode;
p->data=e; //赋值
p->next=NULL;
q->next=p; //链接
q=q->next; //移动辅助指针
cin>>c;
}
return 0;
}
[[it] 本帖最后由 wangweic 于 2008-4-29 12:11 编辑 [/it]]
#6
wangweic
2008-04-29 12:18
在指定位置修改数据
int exchang(LinkList &L,int i,char e,char f)
//在第i个位置把数据换成e,以前数据用f保存
{
LinkList p;p=L;
for(int j=0;j<i;j++)p=p->next;//找到修改位置前一个节点
f=p->next->data; //保存
p->next->data=e; //修改
return 0;
}
#7
wangweic
2008-04-29 12:23
添加
int insert(LinkList L,int i, char e)
//在第i个位置插入数据e
{
LinkList p;p=L;
LinkList q;
for(int j=0;j<i;j++)p=p->next;//找到修改位置前一个节点
q=new LNode;
q->data=e; //赋值
q->next=p->next; //插入,指针的移动
q->next=p;
returu 0;
}
其它操作,也都差不多,就指针的移动有点不同
[[it] 本帖最后由 wangweic 于 2008-4-29 12:24 编辑 [/it]]
1