C++基础回顾(vector的使用)

作者 : 开心源码 本文共821个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共183人阅读

前言

最近用python刷了些算法题不过总觉得不太顺手,很多题目总是会超时,想了想还是用C++来刷吧。因为已经很久没有敲过C++的代码,所以需要对少量常用的知识进行回顾。对于刷算法题目来说,STL应该算是比较常用的一个工具了,故优先对此进行回顾。文章中的主要内容都是来源于郭炜老师在中国大学慕课上的公开课(?程序设计与算法(三)C++面向对象程序设计)以及C++ Primer Plus这本书。另外,在文章的最后我也会用一道LeetCode的题目来简单运用一下今天的知识。

一、vector的简单详情

标准库类型vector表示对象的集合。其中所有对象的类型都相同。相似数组,集合中的每个对象同样有索引,用于随机访问对象。由于vector容纳着其余对象,所以其亦被称之为“容器”(更精确的说是“顺序容器”)。

1.1 定义和初始化vector对象

三种常用初始vector方法(第二种要求编译器支持C++11,此处注释掉,实际是可用的)

1.2 vector对象的常用操作

vector常用的函数,如size()、insert()、push_back()等等

1.3 vector的遍历

一个非常常规的遍历vector的方法

事实上,存在更简便的遍历方式。但是因为我现在所用的编译器不支持C++11,在此仅仅给出代码。

首先,你要先给出一个print()函数。

void print(int n)

{

????????cout<<n<<endl;

}

其次,应用for_each函数进行遍历就可,代码如下。

for_each(v1.begin(),v1.end(),print);?

以上的代码链接

二、处理一道与此相关的算法题

一道简单的算法题

下方为处理代码

暴力处理法

可以看出,这里是采用了两层循环,即为最简单的蛮力法。尽管编译通过,但是效率是极其低下的,仅仅超越了15%的客户。不过今天只是拿这个例子来将刚才学到的知识联络一下,以后,我们再考虑对此算法进行优化,这里就暂且用这个笨方法做着吧。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » C++基础回顾(vector的使用)

发表回复