11 2017 档案

摘要:集合的属性和操作接口包括:集合的初始化、集合的销毁、集合元素的插入、移除,两个集合的并集、子集、差集操作,两个集合的相等判断等。 set_init void set_init(Set *set,int(*match)(vonst void *key1,const void *key2),void ( 阅读全文
posted @ 2017-11-28 06:33 DreamGo 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:集合是不同对象(称为成员)的无序聚集。 集合的两个重要特点:一、成员是无序的;二,每个成员都只在集合中出现一次。 集合是离散数学中的重要部分,离散数学与计算机科学之间有着很深的渊源。 在计算机科学中,我们使用集合来归类数据,尤其是当我们计划以后将其与其他数据相关联时。 C语言并没有原生支持集合,而是 阅读全文
posted @ 2017-11-26 09:17 DreamGo 阅读(4332) 评论(0) 推荐(0) 编辑
摘要:在事件驱动的应用中利用队列来处理事件是一种常见的方法。 阅读全文
posted @ 2017-11-23 08:34 DreamGo 阅读(1320) 评论(0) 推荐(0) 编辑
摘要:结构Queue是队列的数据结构。同栈一样,也用typedef List Queue 来定义。 阅读全文
posted @ 2017-11-22 08:36 DreamGo 阅读(1041) 评论(0) 推荐(0) 编辑
摘要:队列的一个显著特征是它按照先进先出(FIFO)的方式存储和检索元素。这意味着先存入队列的元素将首先被删除 。我们可以形象的把队列看作是在车站排队买票的一队人。当新人一个一个排到队尾时,队伍也在不停变化。当队伍最前面一个人买完票后将首先离开,接着是下一个,再下一个...在计算机中,将一个元素加入队尾, 阅读全文
posted @ 2017-11-21 06:28 DreamGo 阅读(882) 评论(0) 推荐(0) 编辑
摘要:双向链表的实现与分析 双向链表的组成 :1、数据成员;2、指向下一个元素的next指针;3、指向前一个元素的prev指针。 数据结构DListElmt:代表双向链表中的单个元素(节点)。 数据结构DList:代表双向链表数据结构,该结构的成员同前面介绍的单链表相似。 示例1:双向链表抽象数据类型的头 阅读全文
posted @ 2017-11-19 21:27 DreamGo 阅读(2077) 评论(0) 推荐(0) 编辑
摘要:双向链表中的每一个元素都由3部分组成:除了数据成员、next指针外,每个元素还包含一个指向其前驱元素的指针,称为prev指针。双向链表的组成是这样的:将一些元素链接在一起,使得每个元素的next指针都指向其后继的元素,而每个元素的prev指针都指向其前驱元素。 阅读全文
posted @ 2017-11-18 20:27 DreamGo 阅读(1080) 评论(0) 推荐(0) 编辑
摘要:结构体List则表示链表这种数据结构(见示例1)。这个结构由5个成员组成:size表示链表中元素个数;match并不由链表本身使用,而是由链表数据结构派生而来的新类型所使用;destroy是封装之后传递给list_init的析构函数;head是指向链表中头结点元素的指针;tail则是指向链表中末尾结点元素的指针。 阅读全文
posted @ 2017-11-18 08:07 DreamGo 阅读(1703) 评论(0) 推荐(0) 编辑
摘要:链表可以说是一种最为基础的数据结构。链表由一组元素以一种特定的顺序组合或链接而成,在维护数据的集合时很有用。这一点同我们常用的数组很相似。然而,链表在很多情况下比数组更有优势。特别是在执行插入和删除操作时链表拥有更高的效率。链表需要动态的开辟存储空间,也就是存储空间是在程序运行时分配的。由于在很多应用中数据的大小在编译时并不能确定,因此这种动态分配空间的特性也是链表的一个优点。 阅读全文
posted @ 2017-11-17 21:40 DreamGo 阅读(2457) 评论(0) 推荐(0) 编辑

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示