| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 387 人关注过本帖
标题:建立并合并两个循环链表 但是最后没有输出哪位大神帮忙看下
只看楼主 加入收藏
winner1995
Rank: 2
等 级:论坛游民
帖 子:64
专家分:41
注 册:2015-10-11
结帖率:88.89%
收藏
 问题点数:0 回复次数:2 
建立并合并两个循环链表 但是最后没有输出哪位大神帮忙看下
#include<iostream.h>
#include<stdlib.h>
int n;
typedef struct node{
    int data;
    int length;
    struct node *next;
}node, * list;
void createlist(list *L)
{int i;
    *L=(list)malloc(sizeof(node));
    (*L)->next=NULL;
    list p,r;
    r=*L;
    cout<<"enter data's number:";
cin>>n;
(*L)->length=n;
    cout<<"enter data:";
for(i=0;i<n;i++)
{
    p=(list)malloc(sizeof(node));
    cin>>p->data;
    r->next=p;
    r=p;
}
r->next=*L;
}
void outputlist(list *L)
{
cout<<"your list is:"<<endl;
for(int i=0;i<n;i++)
{cout<<(*L)->next->data<<"\t";
*L=(*L)->next;
}
cout<<endl;
}
void mergelist(list *L1,list *L2)
{list L3;
L3=(*L1)->next;
list q,s;
q=*L1;
s=*L2;
while(q->next!=*L1)
{q=q->next;}
while(s->next!=*L2)
{s=s->next;}
s->next=*L1;
q->next=(*L2)->next;
free(*L2);
cout<<"the news cirsulate list is:";
n=(*L1)->length+(*L2)->length;
for(int i=0;i<n;i++)
{
cout<<L3->data;
(L3)=(L3)->next;
}
cout<<endl;
}
int main()
{list L1,L2;
createlist(&L1);
outputlist(&L1);
createlist(&L2);
outputlist(&L2);
mergelist(&L1,&L2);
return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: number include 
2015-11-05 12:34
winner1995
Rank: 2
等 级:论坛游民
帖 子:64
专家分:41
注 册:2015-10-11
收藏
得分:0 
#include<iostream.h>
#include<math.h>
#include<stdlib.h>
int n,n1,n2;;
typedef struct node{
    int data;
    struct node *next;
}node, * list;
void createlist(list *L)
{int i;
    *L=(list)malloc(sizeof(node));
    (*L)->next=NULL;
    list p,r;
    r=*L;
    cout<<"enter data's number:";
cin>>n;
    cout<<"enter data:";
for(i=0;i<n;i++)
{
    p=(list)malloc(sizeof(node));
    cin>>p->data;
    r->next=p;
    r=p;
}
p->next=*L;
}
void outputlist(list *L)
{
cout<<"your list is:"<<endl;
list j;
j=*L;
for(int i=0;i<n;i++)
{cout<<j->next->data<<"\t";
j=j->next;
}
cout<<endl;
}
void mergelist(list *L1,list *L2,list *L3)
{
list q,s;
*L3=*L1;
q=*L1;
s=*L2;
while(q->next!=*L1)
q=q->next;
while(s->next!=*L2)
s=s->next;
s->next=*L1;
q->next=(*L2)->next;
free(*L2);
cout<<endl;
}
void outputnlist(list *L)
{
    cout<<"combined list is:"<<endl;
n=n1+n2;
for(int i=0;i<n;i++)
{cout<<(*L)->next->data<<"\t";
(*L)=(*L)->next;
}
cout<<endl;
}
int main()
{

    list L1,L2,L3;
createlist(&L1);
n1=n;
outputlist(&L1);
createlist(&L2);
n2=n;
outputlist(&L2);
mergelist(&L1,&L2,&L3);
outputnlist(&L3);
return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

唯望君安~
2015-11-08 20:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
什麽叫循環鏈表啊?

授人以渔,不授人以鱼。
2015-11-08 21:20
快速回复:建立并合并两个循环链表 但是最后没有输出哪位大神帮忙看下
数据加载中...
 
   



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

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