欢迎来到风华文档网!

两个线性表合并成一个线性表

工作总结 时间:2022-09-24 20:12:02

下面是小编为大家整理的两个线性表合并成一个线性表,供大家参考。

两个线性表合并成一个线性表

 

 #include <stdio.h> #include <stdlib.h>

 //节点结构 struct LinkList {

 int

  data;

 struct LinkList

  * next; };

 void main() {

 int a[8]={1,3,4,7,7,8,34,45};

 int b[9]={1,2,4,7,9,12,33,43,56};

 LinkList *pa=NULL;

 LinkList *pb=NULL;

 LinkList *pc=NULL;

 LinkList *la=NULL;//la,lb,lc 保存链表首地址

 LinkList *lb=NULL;

 LinkList *lc=NULL;

  // 初始化单链表

 for(int i=7;i>=0;i--)

 {

  pa=(LinkList *) malloc(sizeof(struct LinkList));

  pa->data=a[i];

  pa->next=la;

  la=pa;

 }

  for(int j=8;j>=0;j--)

 {

  pb=(LinkList *) malloc(sizeof(struct LinkList));

  pb->data=b[j];

  pb->next = lb;

  lb=pb;

 }

  lc=pc=(LinkList *) malloc(sizeof(struct LinkList));//LC 指向单链表的头节点

  //递增排序

 while(pa && pb)

 {

 if( (pa->data) <= (pb->data) )

  {

 pc->next=pa;

 pc=pc->next;

 pa=pa->next;

  }

  else

  {

 pc->next=pb;

 pc=pc->next;

 pb=pb->next;

  }

 }

  if(pa)

 {

  pc->next=pa;

 }

 if(pb)

 {

  pc->next=pb;

 }

  pc=lc->next;

 while(pc)

 {

  printf("%d\t",*pc);

  pc=pc->next;

 }

 printf("\n");

 }

推荐访问:两个线性表合并成一个线性表 线性表 合并 两个

热门文章