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

  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;

  }


MORE+

    相关阅读 MORE+

    版权及免责声明
    1.凡本网注明"稿件来源:新东方在线"的所有文字、图片和音视频稿件,版权均属北京新东方迅程网络科技有限公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本网协议授权的媒体、网站,在下载使用时必须注明"稿件来源:新东方在线",违者本网将依法追究责任。
    2.本网末注明"稿件来源:新东方在线"的文/图等稿件均为转载稿,本网转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。如擅自篡改为"稿件来源:新东方在线”,本网将依法追究责任。
    3.如本网转载稿涉及版权等问题,请作者致信weisen@xdfzx.com,我们将及时外理

    Copyright © 2011-202

    All Rights Reserved