注册 登录
编程论坛 C++教室

链表的问题

armacd 发布于 2008-04-24 13:21, 590 次点击
哪个高手给我提供两个完整的链表代码
一个基于c的 一个基于面向对象的  
万分感谢
6 回复
#2
love1541392008-04-24 18:41
没说具体到底什么功能。。。
#3
armacd2008-04-27 14:37
求助
功能齐全一点 添加 删除 插入等等
谢谢各位了 急
#4
wangweic2008-04-29 11:58
要单链表,还是循环链表
#5
wangweic2008-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
wangweic2008-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
wangweic2008-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