#include <stdio.h>
#include <malloc.h>
typedef int DataType;
#include "LinList.h"void main()
{SLNode *head_A,*head_B,*c,*pa,*pb,*pc;int i,j,x;ListInitiate(&head_A);//初始化链表a
    ListInsert(head_A,0,1);//a递增链表ListInsert(head_A,1,3);ListInsert(head_A,2,5);ListInsert(head_A,3,7);pa=head_A->next;ListInitiate(&head_B);//初始化链表b
    ListInsert(head_B,0,2);//b递增链表ListInsert(head_B,1,3);ListInsert(head_B,2,6);ListInsert(head_B,3,8);ListInsert(head_B,4,9);ListInsert(head_B,5,12);pb=head_B->next;ListInitiate(&c);/*
设a链表长度为an,b链表长度为bn,
算法时间复杂度:O(an+bn)
*/while(pb!=NULL && pa!=NULL){    pc=(SLNode *)malloc(sizeof(SLNode));if(pa->data <= pb->data){        pc->data=pa->data;pa=pa->next;        }else{pc->data=(pb->data);pb=pb->next;}//插入步骤pc->next=c->next;c->next=pc;}if(pa==NULL)//如果a链表读完了,把剩下的b链表赋给c
    {while(pb!=NULL){pc=(SLNode *)malloc(sizeof(SLNode));pc->data=pb->data;pb=pb->next;pc->next=c->next;c->next=pc;}}else//如果b链表读完了,把剩下的a链表赋给c
    {while(pa!=NULL){pc=(SLNode *)malloc(sizeof(SLNode));pc->data=pa->data;pa=pa->next;pc->next=c->next;c->next=pc;}}printf("输出a递增链表:\n");for(i=0;i<ListLength(head_A);i++){ListGet(head_A,i,&x);printf("%d   ",x);}printf("\n\n");printf("输出b递增链表:\n");for(i=0;i<ListLength(head_B);i++){ListGet(head_B,i,&x);printf("%d   ",x);}printf("\n\n");printf("输出c链表:\n");for(i=0;i < ListLength(c);i++){ListGet(c,i,&x);printf("%d   ",x);}printf("\n\n");Destroy(&head_A);Destroy(&head_B);Destroy(&c);
}

转载于:https://www.cnblogs.com/jiechao26/p/7587979.html

设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。(利用上篇带有头结点的线性链表操作)...相关推荐

  1. Python编曲实践(九):如何计算并估计音乐的调性(大/小调+主音)?Krumhansl-Schmuckler调性分析算法的原理与实现

    前言 之前,我在 Python编曲实践(五)中记录了构建MIDI数据集Free MIDI Library的过程,其中预处理阶段十分重要的一个步骤是移调,即把所有音乐的调性调整为C大调或A小调,这样会使 ...

  2. 编译原理简单优先分析算法

    简单优先分析算法 编译原理简单优先分析算法是一种自下而上的分析算法,本例是编译原理第三版何炎祥中一个简单优先分析算法的例子,未给出分析过程分析代码,读者可以参考我的语法分析器中输出代码,写出此算法的输 ...

  3. python单链表实现具体例子_Python实现数据结构线性链表(单链表)算法示例

    本文实例讲述了Python实现数据结构线性链表(单链表)算法.分享给大家供大家参考,具体如下: 初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码. #!/usr/bin ...

  4. 【Java 虚拟机原理】垃圾回收算法 ( 可达性分析算法 | GC Root 示例 | GC 回收前的两次标记 | finalize 方法示例 )

    文章目录 一.可达性分析算法 二.GC Root 示例 三.GC 回收前的两次标记 四.finalize 方法示例 一.可达性分析算法 在 堆内存 中 , 存在一个 根对象 GC Root , GC ...

  5. 【计算理论】计算复杂性 ( 小 O 记号 | 严格渐进上界 | 分析算法的时间复杂度 )

    文章目录 一.小 O 记号 ( 严格渐进上界 ) 二.分析算法的时间复杂度 一.小 O 记号 ( 严格渐进上界 ) 如果 g(n)\rm g(n)g(n) 是 f(n)\rm f(n)f(n) 渐进上 ...

  6. Java1.使用二分搜索算法查找任意N个有序数列中的指定元素。 2.通过上机实验进行算法实现。 3.保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告。 4.至少使用两种方法进行编程,直接查

    1.使用二分搜索算法查找任意N个有序数列中的指定元素. 2.通过上机实验进行算法实现. 3.保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告. 4.至少使用两种方法进行编程,直接查找/递归 ...

  7. 对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的边。说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

    对下图所示的连通网络G,用克鲁斯卡尔(Kruskal)算法求G的最小生成树T,请写出在算法执行过程中,依次加入T的边集TE中的 边.说明该算法的基本思想及贪心策略,并简要分析算法的时间复杂度

  8. 算法:递归(借助递归树来求解分析递归算法的时间复杂度)

    递归代码的时间复杂度分析起来非常麻烦,今天我们尝试来借助递归树分析递归算法的时间复杂度. 1. 递归树与时间复杂度分析 递归的思想就是将大问题一层一层地分解为小问题来求解,如果我们把这个分解过程画成图 ...

  9. 6.36③ 若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左、右子树和B2的左、右子树分别相似, 则称二叉树B1和B2相似。试编写算法,判别给定两 棵二叉树是否相似。

    6.36③  若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左.右子树和B2的左.右子树分别相似, 则称二叉树B1和B2相似.试编写算法,判别给定两 棵二叉树是否相似. 要求实现下列函数: S ...

最新文章

  1. Kali Linux安装字典StarDict
  2. Go中线程和协程的区别
  3. redis——持久化
  4. Python 之 【markdown 模块的学习】
  5. Oracle中添加自动编号的序列
  6. div不继承父类样式_Java三大特性之继承
  7. vue 复制 长按_Vue
  8. 【VMCloud云平台】SCCM(二)部署
  9. 第 2 章 索引优化分析
  10. C#和C++中的float类型
  11. 自动锁定计算机怎么设置,win10如何设置自动锁定屏幕_win10设置自动锁屏的步骤...
  12. 微信小程序UI设计规范及文档模版
  13. 服装制造业信息化系统分析(一)
  14. 获取apk运行占手机RAM大小
  15. 李丰新年展望 | 一张图看清2020中国机会
  16. 微信小程序快递物流信息跟踪查询api接口对接快递鸟案例
  17. 【S0002】插画大师Laura欧美儿童插画临摹图集363张
  18. tecplot选择变量
  19. 全国大学建模与计算机应用竞赛,2014年全国大学生数学建模与计算机应用竞赛报名通知...
  20. MySql中增加注释、追加注释、修改注释、查看注释

热门文章

  1. python绘制灰度图片直方图-python数字图像处理(9):直方图与均衡化
  2. python语言是谁发明的咋读-Python的发明,竟然是因为他不喜欢花括号。
  3. python 画三维函数图-Python之Numpy:二元函数绘制/三维数据可视化/3D
  4. python3爬虫入门教程-Python3爬虫教程基础篇之一:什么是爬虫
  5. 机器人编程语言python-5大机器人流行编程语言对比,你学会了哪种?
  6. python需要php吗-做网站用php还是python
  7. python代码基础题-Python基础练习题
  8. 以下用于数据存储领域的python第三方库是-python第三方库系列之一--json
  9. python装饰器原理-深入理解 Python 装饰器
  10. python下载大文件-golang/python 下载大文件时怎样避免oom