扫码加入训练营

牢记核心词

学习得礼盒

2020考研计算机《数据结构(C语言版)》详解答案(13)

2019-05-19 17:23:25来源:网络

  2020年计算机考研复习已经开始,新东方在线在此整理了2020考研计算机《数据结构(C语言版)》详解答案(13),希望能帮助大家!

  假设有两个按元素值递增有序排列的线性表A和B,均以单链表作存储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表和B表)的结点空间构造C表。

  解:

  // 将合并逆置后的结果放在C表中,并删除B表

  Status ListMergeOppose_L(LinkList &A,LinkList &B,LinkList &C)

  {

  LinkList pa,pb,qa,qb;

  pa=A;

  pb=B;

  qa=pa; // 保存pa的前驱指针

  qb=pb; // 保存pb的前驱指针

  pa=pa->next;

  pb=pb->next;

  A->next=NULL;

  C=A;

  while(pa&&pb){

  if(pa->datadata){

  qa=pa;

  pa=pa->next;

  qa->next=A->next; //将当前最小结点插入A表表头

  A->next=qa;

  }

  else{

  qb=pb;

  pb=pb->next;

  qb->next=A->next; //将当前最小结点插入A表表头

  A->next=qb;

  }

  }

  while(pa){

  qa=pa;

  pa=pa->next;

  qa->next=A->next;

  A->next=qa;

  }

  while(pb){

  qb=pb;

  pb=pb->next;

  qb->next=A->next;

  A->next=qb;

  }

  pb=B;

  free(pb);

  return OK;

  }


本文关键字: 2020考研计算机

考研英语核心词汇营

背词+听课+练习+督学,学习得礼盒

更多资料
更多>>
更多内容

关注新东方在线考研服务号

获得21考研真题及答案解析

1. 打开手机微信【扫一扫】,识别上方二维码;
2.点击【关注公众号】,获取资料大礼包。

近10年考研真题及答案免费下载
更多>>
更多公开课>>
更多>>
更多资料