注册 登录
编程论坛 数据结构与算法

又是一个死活弄不出来的程序 又死活没看出哪错了。 初学数据的妹子真的伤不起啊

cherish—— 发布于 2013-03-25 18:44, 623 次点击
#include<stdio.h>
#include<malloc.h>
typedef struct Lnode{
int data;

struct Lnode *next;

}Lnode,*LK;




int init(LK&l,int n){
    int i;
LK p,q;
l=(LK)malloc(sizeof(LK));
l->next=0;
q=l;
for(i=0;i<n;i++){
    p=(LK)malloc(sizeof(LK));
    scanf("%d",&p->data);
    p->next=0;
    q->next=p;
    q=p;
}
return 1;

}


int hb(LK &LA,LK &LB,LK &LC)
{LK pa,pb,pc;
pa=LA->next;pb=LB->next;
pc=LC=LA;
while(pa&&pb){
    if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}
    else  {pc->next=pb;pc=pb;pb=pb->next;}}
    pc->next=pa?pa:pb;

free(LB);
    return 1;

}


main(){
LK LA,LB,p,LC;
int n,m,i;
printf("请输入LA链表元素的个数:");
scanf("%d",&n);
init(LA,n);
p=LA->next;
printf("\n创建LA的链表为:\n");
for(i=n;i>0;i--){
printf("%d  ",p->data);
p=p->next;

}
printf("\n请输入LB链表元素的个数:");
scanf("%d",&m);
init(LB,m);
p=LB->next;
printf("\n创建LB的链表为:");
for(i=m;i>m;i--){
printf("%d  ",p->data);
p=p->next;

}
hb(LA,LB,LC);
p=LC->next;
printf("\n合并后LC的链表为:");
for(i=n+m;i>0;i--){printf("%d  ",p->data);p=p->next;}





}
 
4 回复
#2
yuccn2013-03-25 22:34
for(i=m;i>m;i--){ // 这个循环无法进行的
 printf("%d  ",p->data);
 p=p->next;
 
}
#3
不玩虚的2013-03-25 23:02
美女又,怎么啦?
#4
cherish——2013-03-26 18:46
回复 楼主 cherish——
然后呢 呢??
#5
cherish——2013-03-26 18:47
回复 2楼 yuccn
唉  不就是自己乱编编~~

   不过已经弄好了
1