我眼中的数据结构

本文介绍了数据结构的概念及其在C++中的实现,特别是STL(标准模板库)的应用。STL封装了多种数据结构如vector、list、map和set等,以及算法如排序和搜索。文章详细阐述了各容器的特点和操作,如vector的动态数组、list的链表、map和set的二叉树结构,以及迭代器的使用。此外,还探讨了堆、优先队列和关联容器的操作。
摘要由CSDN通过智能技术生成

“ 无论我成了什么狗样,我都相信自己前头无量。”

 

有些事情从写下开始的时候,就没说过最后的结果会是如何。

今天是10月份的第一个工作日:加油!

 

数据结构呢其实是指

相互之前存在一种或多种特定关系的数据元素的集合,

而这些数据元素之间的关系被称为结构

典型的数据结构有:

     (1)集合(2)线性结构(3)树形结构 (4)图状结构或网状结构

                    

提到数据结构,

对于C++来说,STL(标准模板库)绝对是最实用最方便的,STL之所以强大,是因为STL封装了许多复杂的数据结构和算法,提供了大量流行常用的数据结构操作。比如像:vector封装了数组,list封装了链表,map和set封装了二叉树。

对于STL,其核心主要包括:容器(Containers)、算法(Algorithms)、迭代器(iterators)。

迭代器是STL的精髓,因为它提供了一种方法,可以按照顺序的访问某个容器所含的各个元素,但无需暴露该容器的内部结构。

常量迭代器:for (string::const_iterator it = str2.begin(); it != str2.end(); it++)

正向迭代器:for(string::iterator it = str.begin();it!=str.end();it++)

反向迭代器:for (vector<string>::reverse_iterator iter = v6.rbegin(); iter != v6.rend(); iter++)

容器则是存放数据的地方,常见的容器有序列式容器和关联式容器。序列式容器是指其中的元素不一定有序,但可以被排序,比如string、vector(数组)、list、queue、stack、heap、priority_queue;而关联式容器内部结构基本上是一个平衡二叉树,所谓关联,指每个元素都有一个键值和一个实值<key,value>,元素按照一定的规则存放。比如map、set.

算法是作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。

那来说一说STL中最基本最常用的类或者容器:

stringvector(数组)forward_listlistqueuedequepriority_queuestackheapmapset

单向容器:forward_listqueue           双向容器:stringvector(数组)listdeque

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值