目录

  • 1.顺序表和链表的比较
  • 2.线性表的合并
  • 3.有序表的合并
    • (1)顺序表实现
    • (2)链表实现
  • 4.稀疏多项式运算
  • 5.图书信息管理系统

1.顺序表和链表的比较


2.线性表的合并


将lb中的元素取出,一一与la比对,la中没有则插入到表尾,且la表长+1,直到遍历完lb。la和lb共有的元素只取一次。

3.有序表的合并

有序表的合并相对于线性表会保留两个表重复拥有的元素,故合并后的表长为原来两个表长之和。

(1)顺序表实现



  • 1,初始化操作:pa和pb分别指向la和lb的第一个元素,计算新表长度为两表之和,根据lc表长分配数组空间。
  • 2,在两个表均为非空的情况下(根据表头指针以及表长可计算出表尾指针),将两个表头指针指向的数据进行比较,较小的存入lc,并将pc和较小数据的指针都+1。
  • 3,重复上述步骤,直至其中一个表为空时,将另一个表剩余部分依次放入lc中。

(2)链表实现


(前提是有序链表)

  • 1,两个指针pa,pb指向待操作链表的首元结点,以la的头结点作为lc的的头结点,pc指向lc头结点。
  • 2,当pa和pb都非空时,比较指向结点的data域,将data域较小的结点地址赋给pc指向结点的next域,再移动pc和较小结点指针,直到有一个链表遍历完全。
  • 3,将剩余链表尾部全部插入lc。


空间复杂度为O(1)。

4.稀疏多项式运算

多项式的系数存入线性表来进行运算,对于完整记录每一项系数的多项式,求和用顺序表更方便,顺序表对应位置数据相加存入新的顺序表。对于某些次项系数为0的多项式(稀疏多项式),如果将每一项系数存入会浪费空间,故只存系数非零项及相应次数。
顺序表方式:分别从头遍历两个顺序表

  • 1,指数相同时,指数不变,对应系数相加,和不为零时则将系数和及指数存入新顺序表。
  • 2,指数不同时,将指数较小项复制到新顺序表,继续遍历直至其中一个表为空后,将另一个表剩余部分依次复制到新顺序表。
    存在问题:为提前分配空间时,不确定新的顺序表表长。

链表方式



经过以上步骤可以获得按指数从小到大顺序排列的两个链表pa,pb。
直接利用pa的头结点作为新的链表pc的头结点,分别从头遍历两个链表pa,pb。

  • 1,指数相同时(p1->expn=p2->expn),指数不变,对应系数相加;和为零则删除p1,p2所指结点;和不为零时修改p1所指结点的系数为系数和,并删除p2所指结点。
  • 2,指数不同时,将指数较小项插入到链表c的尾部,继续遍历直至其中一个表为空后,将另一个表剩余部分插入到新链表c。最后释放pb的头结点。

5.图书信息管理系统

经常做插入删除操作或者书目变化大用链表,图书书目变化不大,很少做插入删除操作且经常要通过序号找书就用顺序存储结构。

数据结构----线性表应用案例相关推荐

  1. 数据结构-线性表之用队列实现栈用栈实现队列

    文章目录 **********用队列实现栈 一:思路 二:实现 (1)结构体定义 (2)初始化和销毁 (3)进"栈" (4)出"栈" 三:代码 ******** ...

  2. 数据结构-线性表之带头结点的双向循环链表

    文章目录 前言 实现 (1)结构定义 (2)基本函数 (3)操作实现 测试 代码 前言 链表的类型有很多种(根据带头或不带头,循环或非循环等等),但是我们重点研究的只有两种,一种结构非常简单是无头单向 ...

  3. 数据结构摧毁线性表用c语言,[简述]数据结构-线性表(c语言实现)

    [简述]数据结构-线性表(c语言实现)second60 20180422 1. 线性表的定义 线性表是具有相同特性的数据元素的一个有限序列. 2. 线性表抽象数据类型描述 ADT  List { 数据 ...

  4. 王道数据结构线性表:有读者认为直接去掉p结点会造成断链?

    王道数据结构线性表:有读者认为直接去掉p结点会造成断链? 我用图解的方式来说明一下,文字有点多,看起来比较眼疼,但是内容不多,希望能对你有帮助. 书上的代码 解释 (ps:对上面解释的一点补充↓)

  5. 数据结构——线性表(三)

    数据结构--线性表(三) 作者:黑衣侠客 一.线性表的定义 线性表,从名字来看,可以发现,是具有像线一样性质的表 线性表:零个或多个数据元素的有限序列. 首先,它是一个序列,也就是说,元素之间是有顺序 ...

  6. 数据结构-线性表(严书代码实现)

    数据结构-线性表的顺序表示代码 //头文件内容实现 #ifndef SEQLIST_H_INCLUDED #define SEQLIST_H_INCLUDED #include<string.h ...

  7. 数据结构-线性表-思维导图+小结

    数据结构-线性表思维导图+小结 1 数据结构-第二章-线性表-思维导图 2 数据结构-第二章-线性表-习题小结 2.1 概念性习题小结 2.2 操作性习题小结 1 数据结构-第二章-线性表-思维导图 ...

  8. 数据结构线性表基本操作

    数据结构线性表基本操作 基本内容 线性表的顺序表示和实现 线性表的顺序存储表示 顺序表中基本操作的实现 1.顺序表的初始化 2.取值 3.查找 4.插入 5.删除 线性表的链式表示和实现 单链表的定义 ...

  9. c语言构造一个空线性表l,数据结构线性表顺序结构的定义与实现C语言-Go语言中文社区...

    大家好,今天给大家总结了一下数据结构里面的线性表的顺序结构,顺序表表示的是用一组地址连续的存储单元依次存储线性表的数据元素,所以顺序结构的实现一般采用数组的方式来实现,存储空间也采用动态分配的方式.在 ...

  10. 数据结构——线性表(2)

    上接 数据结构--线性表(1) 上文中介绍了线性表的顺序存储结构和单链表的介绍与代码实现,接下来,继续介绍线性表的链式存储 循环链表   在座的各位都很年轻,不会觉得日月如梭.可上了点年纪的人,比如我 ...

最新文章

  1. 一些可能没用过的调试窗口
  2. Android基础是什么,Android基础概念
  3. 10 个神奇的网站显示超强的 HTML5 技术
  4. day36 03-Hibernate检索方式:排序、参数绑定、投影查询
  5. 计算机osta试题,OSTA试题库.doc
  6. 用Python的Tultle模块创建一个五角星
  7. 学习一下spring-cloud-function中官方修复的一个问题
  8. 计科1501韩猛实验8
  9. 从零开始的全栈工程师——html篇1.4
  10. 玩聚榜单-仿照Technorati的Popular频道
  11. 网站URL被劫持怎么办?
  12. 防火墙——隧道技术类型
  13. Object类型转换为Integer类型
  14. 心形公式表白(逼格更高一点哈哈哈)
  15. No.051<软考>《(高项)备考大全》【冲刺5】《软考之 119个工具 (3)》
  16. PV、PVC、StorageClass讲解
  17. 鸿蒙系统支持980,稳了!鸿蒙系统升级名单再曝:至少麒麟980机型都能升级
  18. 二十九、重磅:近1GB的三千万聊天语料供出
  19. TYVJ 01034
  20. 数据库与MPP数仓(十三):数据仓库的模型构建

热门文章

  1. python连接mysql失败_python连接mysql失败的解决方法
  2. 占全国三成的威海海参秋季开捕:实现丰收4.5万吨 价格涨一成
  3. 2021年中式烹调师(初级)复审考试及中式烹调师(初级)模拟试题
  4. Laravel 【mews/captcha】图片验证码 api接口形式获取、验证
  5. 618狂欢结束,来聊聊华为云GaussDB NoSQL的蓬勃张力
  6. 计算机 绘图 教案,计算机绘图实训教案.doc
  7. 视频智能分析平台EasyCVR安防视频汇聚平台助力森林公园防火安全的应用方案
  8. IT行业最赚钱的5个职位
  9. pandas numpy 实习小结
  10. JAVA ——int 类型除法保留两位小数