c语言有序链表合并的实验报告,算法2-2:有序线性表的有序合并-题解(C语言代码)小白成长之路(链表实现)...

typedef struct LinkList

{

int data;

struct LinkList *next;

}LinkList;

LinkList * Init_LinkList()

{

LinkList *head;

head=(LinkList *)malloc(LEN);

if(head!=NULL)

{

head->next=NULL;

return head;

}

}

int Creat_LinkList(LinkList *head,int n)

{

int i;

LinkList *p,*tail;

tail=head;

for(i=0;idata);

tail->next=p;

tail=p;

}

tail->next=NULL;

return 1;

}

void Merge(LinkList *A,LinkList *B)

{

LinkList *p;

p=A;

while(p->next!=NULL)

p=p->next;

p->next=B->next;

free(B);

}

int Print_LinkList(LinkList *p)

{

p=p->next;

while(p!=NULL)

{

printf("%d ",p->data);

p=p->next;

//return 1;//如果这样只执行了一次

}

printf("\n");

}

void Sort(LinkList *head)

{

LinkList *p,*q,*min;

int t,i;

p=head->next;//首节点

while(p!=NULL)

{

q=p->next;

min=p;

t=p->data;

while(q!=NULL)

{

if(q->data<=t)

{

t=q->data;

min=q;

}

q=q->next;

}

i=p->data;p->data=min->data;min->data=i;

p=p->next;

}

}

int main()

{

int a,b;

while(scanf("%d",&a)!=EOF)

{

LinkList *A,*B;

//scanf("%d",&a);

A=Init_LinkList();

Creat_LinkList(A,a);

scanf("%d",&b);

B=Init_LinkList();

Creat_LinkList(B,b);

Merge(A,B);

Sort(A);

Print_LinkList(A);

//Print_LinkList(B);

}

return 0;

}

```

![三次成功](/image_editor_upload/20191022073255_77496.png "三次成功")

1:改成功

2:未换行(在54行)

3:没有使用while(scanf("%d",&a)!=EOF)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值