`
javasee
  • 浏览: 924359 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

一步一步写算法(之通用数据结构)

阅读更多

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】


上一篇博客介绍了通用算法,那么有了这个基础我们可以继续分析通用数据结构了。我们知道在c++里面,既有数据又有函数,所以一个class就能干很多事情。举一个简单的例子来说,我们可以编写一个数据的class计算类。

那么我们可不可以仿造这个思路,在常用的数据结构里面添加一些函数指针呢?至于为什么要这些函数指针,主要是因为我们设计的数据结构是通用的数据类型,那么其中必然有一些譬如compare的函数需要具体数据类型的参与。现在,我们定义一个循环队列,

那么QUEUE的创建函数、打印函数有什么区别吗?

有了函数指针之后,整个数据结构显得有点复杂。但是我们没有办法,这是设计通用数据结构必须花的一个代价。那么有了这个数据结构之后,如何才能实现对整个队列的数据打印呢?朋友们可以自己写一下,再看看我写的是否正确。



总结:

(1)剩下还有compare、find两个子函数,朋友们可以想想怎么利用?

(2)通用数据结构有很多好处,写的越熟,用得越好。


分享到:
评论

相关推荐

    数据结构(7).doc

    (1) 通用性 对于那些符合输入类型的任意输入数据,都能根据算法进行问题求解,包保证计算结构的 正确性.(2) 有效性 组成算法的每一条指令都必须是能够被人或机器确切执行的.(3) 确定性 算法每执行一步之后,对于...

    [详细完整版]数据结构1.doc

    (1) 通用性 对于那些符合输入类型的任意输入数据,都能根据算法进行问题求解,包保证计算结构的 正确性.(2) 有效性 组成算法的每一条指令都必须是能够被人或机器确切执行的.(3) 确定性 算法每执行一步之后,对于...

    数据结构Demo.rar

    数据结构Demo给我们演示了数据结构各种算法的执行过程和结果,每一步执行过程中变量值的改变,将整个过程形象地展现出来,是学习数据结果的好帮手。

    数据挖掘实验报告.doc

    Weka使 用Java写成的,并且限制在GNU通用公共证书的条件下发布。它可以运行于几乎所有操作 平台,是一款免费的,非商业化的机器学习以及数据挖掘软件。Weka提供了一个统一界 面,可结合预处理以及后处理方法,将许多...

    R-Undelete文件恢复v4.9中文注册版.rar

    详细扫描允许应用程序收集和分析整个媒体的全部数据结构,详细扫描为所有的文件类型提供通用的支持,使用特定的文件搜索算法可能会得到更好的恢复结果。扫描到的结果,可以按访问时间、修改时间或创建时间来进行排序

    论文通用人工智能的火花:GPT-4 早期实验

    2、编码能力:算法与数据结构、代码解释、解决实际工程问题 3、数学能力:可以使用正确方法解决高中数学问题 4、与世界交互:可以进行网络交互(日历、电子邮件、浏览网页) 5、与人类交互:具有非常高级的心智理论...

    C语言通用范例开发金典.part1.rar

    第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组...

    DSP56800E参考手册(中文

    和取反性能,使得DSC和数据过滤算法的高效编码变成可能。大量的寄存器;高效的寻 址模式;位操作使得传统的控制任务能够更加轻松的完成。对于通用程序编写的支持表 现在提供了软件堆栈;灵活的寻址模式和字节,字,...

    围棋学习v1.38版开源共享

     4、优化了各主要类模块的数据结构和接口。  5、增加了sgf和wqp格式文件关联。 2009-4-22 围棋学习1.21版相对于1.18版更新说明:  1、增加了中级人工智能模块的设计,在新局窗口的“人工智能”一项选择“中级”...

    c++运动会评分系统

    算法与数据结构[M].北京:清华大学出版社,2003.10.[5] 徐孝凯,贺桂英著.C语言教程[M].北京:清华大学出版社,2004.[6] 杨秀 ...[ [原文]第一部分 运动会分数统计系统一、需求分析(1).可以输入各项目前三名的...

    网络爬虫一种搜索引擎

     (3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。  (4) 通用搜索...

    C语言通用范例开发金典.part2.rar

    第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 范例1-3 一维数组...

    python爬虫文档

    (3)万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。 (4)通用搜索引擎...

    深入研究NANDFlash控制器.pdf

    本文讨论了Flash Memory的两种主流实现技术即NAND Flash和NOR Flash 的特点和区别,分析了市场上存在的NAND Flash的典型规格及其存储结构特点, 阐述了不同NAND Flash器件一些通用的存取操作方式,近一步分析了进行...

    软件工程-理论与实践(许家珆)习题答案

    B) 对系统的数据结构进行描述 C) 对目标系统的层次结构进行描述 D) 作为分析和设计的工具 8. 数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成(C)。 A) 数据说明条目、控制流条目、加工条目...

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    物联网安全_实验9 信息保密性、完整性和不可抵赖性的综合应用.doc

    PGP提供一种系统化的密钥管理方案来存储和组织这些密钥以保证有效使用这些密钥,它为每个节点(用户机器)提供一对数据结构,一个用于存放本节点自身的公钥/私钥对(即私钥环),另一个用于存放本节点知道的其他用户...

    asp.net知识库

    根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的存储过程 直接从SQL语句问题贴子数据建表并生成建表语句的存储过程 从SQL中的一个表中导出HTML文件...

    c语言编写单片机技巧

    答:对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其...

    visual C++_Turbo C串口通信编程实践

    里面讲了MSComm控件 、 WinAPI 串口通信、CSerial类,例子很详实,每一步操作都有解释。作者是龚建伟,有一个个人主页www.gjwtech.com,讲串口通信的内容比较多,还行,大家可以先看看这个主页。 本书目录 第1章轻松...

Global site tag (gtag.js) - Google Analytics