| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 955 人关注过本帖
标题:用数组建立单链表,删除相同元素
只看楼主 加入收藏
q869939686
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2013-4-10
结帖率:50%
收藏
已结贴  问题点数:18 回复次数:6 
用数组建立单链表,删除相同元素
这个感觉好多都不懂啊,这是我在网上找的一个例子,但是运行的时候好多错误。。。
typedef struct node
{
    int data;
    struct node *next;
}LNode;
这个是建立单链表吗?链表的名字是LNode吗?
还有哪个地方有错误,哪位大神帮忙指点一下,给点提示,我自己修改
#include<stdio.h>
#include<iostream.h>
typedef struct node
{
    int data;
    struct node *next;
}LNode;
LNode *Creat_LinkList(int a[],int n)//用长度为n的整形数组创建带头结点的链表
{
    LNode *s,*r,*head;
    head=s=new LNode;//创建头结点
    for(int i=0;i<n;i++)
    {
        r=new LNode;
        r->data =a[i];
        s->next=r;
        s=r;
    }
    s->next=NULL;//尾结点Next域置为NULL
    return head;//返回头指针
}
void Disp_LinkList(LNode *L)//输出单链表
{
   LNode *p;
   for(p=L->next;p;p=p->next)
       cout<<p->next<<"";
   cout<<endl;
}
void pur_LInkList(LNode *H)//删除单链表H中的重复结点
{
  LNode *p,*q,*r;
  p=H->next;
  while(p)
  {
  q=p;
  while(q->next)
  {
      if(q->next->data==p->data)
      {
          r=q->next;
          q->next=r->next;
          delete r;
      }
      else
          q=q->next;
  }
  p=p->next;
  }
}
main()
{
    int a[9]={1,2,2,3,3,2,3,3,5};
    LNode *L=Creat_LinkList(a,9);//用数组创建单链表
    Disp_LinkList(L);
    pur_LinkList(L);
    Disp_LinkList(L);
    return 0;
}
搜索更多相关主题的帖子: include 
2013-05-04 10:23
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
收藏
得分:5 
#include<stdio.h>
#include<iostream.h>

typedef struct node
{
    int data;
    struct node *next;
}LNode;                              //将结构体改名为LNode;
LNode *Creat_LinkList(int a[],int n)//用长度为n的整形数组创建带头结点的链表
{
    LNode *s,*r,*head;
    head=s=new LNode;//创建头结点
    for(int i=0;i<n;i++)
    {
        r=new LNode;
        r->data =a[i];
        s->next=r;
        s=r;
    }
    s->next=NULL;//尾结点Next域置为NULL
    return head;//返回头指针
}
void Disp_LinkList(LNode *L)//输出单链表
{
   LNode *p;
   for(p=L->next;p;p=p->next)
       cout<<p->data<<" ";                     //这里改动了,原来是p->next,改为了p->data;
   cout<<endl;
}
void pur_LinkList(LNode *H)//删除单链表H中的重复结点
{
  LNode *p,*q,*r;
  p=H->next;
  while(p)
  {
  q=p;
  while(q->next)
  {
      if(q->next->data==p->data)
      {
          r=q->next;
          q->next=r->next;
          delete r;
      }
      else
          q=q->next;
  }
  p=p->next;
  }
}
int main()
{
    int a[9]={1,2,2,3,3,2,3,3,5};                  //这里改动了,原来是中文的逗号;
    LNode *L=Creat_LinkList(a,9);//用数组创建单链表
    Disp_LinkList(L);
    pur_LinkList(L);
    Disp_LinkList(L);
    return 0;
}

练就一身本领,只为笑傲江湖!
2013-05-04 12:31
q869939686
Rank: 2
等 级:论坛游民
帖 子:13
专家分:12
注 册:2013-4-10
收藏
得分:0 
还少一个
using namespace std;
2013-05-04 23:34
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:5 
细心哦!

Maybe
2013-05-05 21:56
际遇08
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2013-3-23
收藏
得分:5 
我也在学数据结构,有点难!
2013-05-08 21:24
不玩虚的
Rank: 9Rank: 9Rank: 9
来 自:四川
等 级:贵宾
威 望:10
帖 子:331
专家分:1301
注 册:2012-12-9
收藏
得分:5 
支持踏实学习,认真思考的孩子,学习很好玩,可是也很麻烦

同学习......同进步....你帮我......我帮你.....上善若水.....
2013-05-09 13:16
cq19940525
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-5-19
收藏
得分:0 
为什么我们学的代码和这不一样
2013-05-31 09:23
快速回复:用数组建立单链表,删除相同元素
数据加载中...
 
   



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

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