![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
teardrop
这个作者很懒,什么都没留下…
展开
-
浅谈C++容器(一)
在面向对象的语言中,大多引入了容器的概念。那么 什么 是 容器?实质上就是一组相同类型对象的集合,但是它又不仅仅像数组那样简单,它实现了比数组更复杂的数据结构,当然也实现了比数组更强大的功能。C++ 标准模板库里提供了10 种通用的容器类,它基本上可以解决程序中遇到的大多数问题。 现在我主要来说明这10 种通用容器的功能用途以及相互之间的相同与异同。但是在这里,我不提倡一开始就着手从这转载 2014-07-20 17:21:39 · 603 阅读 · 0 评论 -
浅谈C++容器(二)
上面从整体上说明了数据结构的概念和分类,下面就具体的几种常用的数据结构作以说明。 线性表 数据结构中最简单最基本的结构是线性表 。线性表是相同类型的数据元素的有限序列,数据元素之间具有顺序关系。从数据的存储结构上线性表可以分为顺序表和链表两类。顺序表即是对线性结构使用顺序存储结构的方式,链表即是对线性结构使用链式存储结构的方式。其两者的特点就是逻辑的线性结构对不同存储结构的实现。顺序表是一转载 2014-07-20 17:27:02 · 631 阅读 · 0 评论 -
浅谈C++容器(五)
关联容器 set, multiset, map, multimap 是一种非线性的树结构,具体的说采用的是一种比较高效的特殊的平衡检索二叉树—— 红黑树结构。(至于什么是红黑树,我也不太理解,只能理解到它是一种二叉树结构) 因为关联容器的这四种容器类都使用同一原理,所以他们核心的算法是一致的,但是它们在应用上又有一些差别,先描述一下它们之间的差别。 set ,又称集合,实际上就是一转载 2014-07-20 17:32:14 · 627 阅读 · 0 评论 -
浅谈C++容器(六)
容器适配器 STL 中包含三种适配器:栈stack 、队列queue 和优先级priority_queue 。 适配器是容器的接口,它本身不能直接保存元素,它保存元素的机制是调用另一种顺序容器去实现,即可以把适配器看作“它保存一个容器,这个容器再保存所有元素”。 STL 中提供的三种适配器可以由某一种顺序容器去实现。默认下stack 和queue 基于deque 容器实现,prio转载 2014-07-20 17:36:26 · 577 阅读 · 0 评论 -
浅谈C++容器(四)
顺序性容器: 向量 vector : 是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组。 在创建一个vector 后,它会自动在内存中分配一块连续的内存空间进行数据存储,初始的空间大小可以预先指定也可以由vector 默认指定,这个大小即capacity ()函数的返回值。当存储的数据超转载 2014-07-20 17:33:20 · 580 阅读 · 0 评论 -
浅谈C++容器( 三)
有了对数据结构的基本认识,那么对高级语言所提出的容器的概念就很容易理解。下面我们就来了解一下C++ 标准模板库(STL) 提所供的10 种通用容器。 什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包转载 2014-07-20 17:29:01 · 586 阅读 · 0 评论