| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 419 人关注过本帖
标题:链表问题 哪位帮忙找错 谢谢哈
只看楼主 加入收藏
lxh3319
Rank: 2
等 级:论坛游民
帖 子:29
专家分:11
注 册:2011-6-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
链表问题 哪位帮忙找错 谢谢哈
实验目的:

学习用指针构造链表,操作链表

实验内容:

    输入两个非降序列,转换成两个非升序列,合并成一个非升序列。

基本要求:

用链表实现。

#include<stdio.h>
#include<malloc.h>
#define NULL 0
#define LEN sizeof(struct m)
struct m
{
long a;
struct m *next;
};
int n;
struct m *creat(void)
{
    struct m *head;
    struct m *p1,*p2;
    n=0;
    p1=p2=(struct m *)malloc(LEN);
    printf("输入非降序列,以0结束:");
    scanf("%d",&p1->a);
    head=NULL;
while(p1->a!=0)
{
n++;
if(n==1)head=p1;
else p2->next=p1;
p2=p1;
p1=(struct m *)malloc(LEN);
scanf("%d",&p1->a );
}
p2->next=NULL;
free(p1);
return(head);
}
void print(struct m *head)
{
struct m *p;
p=head;
if(head!=NULL)
do
{
printf("%d",p->a );
p=p->next;
}while(p!=NULL);
printf("\n");
}
void exchange(struct m *head)
{
struct m *p1,*p2,*p3;
p1=p2=p3=(struct m *)malloc(LEN);
p1=head;
p2=p1->next;
p3=p2->next;
while(p3!=NULL)
{
p2->next=p1;
p1=p2;
p2=p3;
p3=p3->next;
}
p2->next=p1;
head=p2;

free(p1),free(p2);
}
struct m *combine(struct m *head1,struct m *head2)
{
struct m *p1,*p2,*p3,*head;
p1=p2=p3=head=(struct m *)malloc(LEN);
p1=head1,p2=head2;
n=0;
for(;p1!=NULL&&p2!=NULL;)
{
    n++;
if(n==1)
{
if(p1->a>p2->a)
{
head=p1;p1=p1->next;
}
else{
    head=p2;p2=p2->next;
}

}
else if(p1->a>p2->a)
{
    p3=p1;
    p1=p1->next;
    p3->next=p2;
}
else
{
p3=p2;
p2=p2->next;
p3->next=p1;
}
}
free(p1),free(p2),free(p3);
return head;
}
void main()
{
struct m *head1,*head2,*p;
head1=creat();
head2=creat();
exchange(head1),exchange(head2);
printf("非升序列为: \n");
print(head1),print(head2);
head1=combine(head1,head2);
printf("合并后为:");
print(head1);

}
不知道为什么错  奇怪死了
搜索更多相关主题的帖子: 实验目的 include 
2011-06-22 23:47
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:20 
明儿再看吧,这会想去打把 dota 睡觉了
2011-06-22 23:50
lxh3319
Rank: 2
等 级:论坛游民
帖 子:29
专家分:11
注 册:2011-6-20
收藏
得分:0 
好吧  
2011-06-22 23:52
快速回复:链表问题 哪位帮忙找错 谢谢哈
数据加载中...
 
   



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

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