700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 用c语言编写一个完整的实现单链表 如何用c语言实现两个单链表的归并

用c语言编写一个完整的实现单链表 如何用c语言实现两个单链表的归并

时间:2022-07-09 14:32:05

相关推荐

用c语言编写一个完整的实现单链表 如何用c语言实现两个单链表的归并

我已经用c语言编写运行请各位朋友帮忙看看哪错呵呵非谢谢

#include"stdio.h"

#include"stdlib.h"

typedef struct node

{int data; struct node *next;

我已经用c语言编写运行请各位朋友帮忙看看哪错呵呵非谢谢

#include"stdio.h"

#include"stdlib.h"

typedef struct node

{int data; struct node *next; }linklist;

linklist *creatlist()

{char ch; int x; linklist *head,*r,*p; head=(linklist*)malloc(sizeof(linklist)); r=head; head->next=NULL; scanf("%c",&ch); while(ch!='n'&&ch!='N') /*输入n则结束*/ {scanf("%d",&x); p=(linklist*)malloc(sizeof(linklist)); p->data=x; r->next=p; r=r->next; scanf("%c",&ch); }

r->next=NULL;

return head;

}

linklist *union(linklist *l1,linklist *l2)

{linklist *pa,*pb,*pc,*lc,*this; pa=l1->next; pb=l2->next; lc=pc=la; while(pa!=NULL&&pb!=NULL) {if(pa->data>pb->data) {this=pb->next; pc->next=pb; pc=pb; pb=this; }

else if(pa->datadata)

{this=pa->next; pc->next=pa; pc=pa; pa=this; }

}

if(pa!=NULL)

{pc->next=pa; pc=pa; }

else if(pb!=NULL)

{pc->next=pb; pc=pb; }

return lc;

}

main()

{linklist *la,*lb,*lc; la=creatlist(); lb=creatlist(); lc=union(la,lb); linklist *this; this=lc->next; while(this) {printf("]",this->data); this=this->next; }

}

展开

全部

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。