[c++] vector 的几种初始化的形式_vector begin +1-程序员宅基地

技术标签: vector  算法与数据结构  

下面是vector的几种初始化的形式,需要注意的是,在vector中都是用 v.begin(),v.end(),v.begin()+ 1 之类的来表示地址,没有直接用 v 的,这点说明iterator和指针的共同之处。

代码为:

#include <algorithm>
#include <iostream>
#include<functional>
#include<vector>
using namespace std;


int main()
{
	vector<int> v1 = {3,2,1,4};
	sort(v1.begin(),v1.end());
	cout << "v1 = {3,2,1,4}初始化并排序后为: ";
	for (int i = 0; i < v1.size(); i++)
		cout << v1[i] << " ";
	cout << endl;
	vector<int> v2(4);
	cout << "vector<int> v2(4)默认4个数赋值为0为: ";
	for (int i = 0; i < v2.size(); i++)
		cout << v2[i] << " ";
	cout << endl;
	//下面是两种直接复制v1的操作,但只能在初始化时使用
	//不能有 v2 = v1 或者 v2(v1) 这种形式的直接赋值操作
	vector<int> v3 = v1;
	cout << "vector<int> v3 = v1后的v3: ";
	for (int i = 0; i < v3.size(); i++)
		cout << v3[i] << " ";
	cout << endl;
	vector<int> v4(v1);
	cout << "vector<int> v4(v1)后的v4为: ";
	for (int i = 0; i < v4.size(); i++)
		cout << v4[i] << " ";
	cout << endl;
	//初始化复制一段v1,注意v1.begin() + 1 是所复制的元素的下一位,与sort函数都是一样的
	vector<int> v5(v1.begin(),v1.begin() + 1);
	cout << "vector<int> v5(v1.begin(),v1.begin() + 1)后的v5为 : ";
	for (int i = 0; i < v5.size(); i++)
		cout << v5[i] << " ";
	cout << endl;
	// copy 的使用,可以起到赋值的作用,注意这里不能缺少v1.size()否则会报错
	vector<int> v6(v1.size());
	copy(v1.begin(),v1.end(),v6.begin());
	cout << "copy(v1.begin(),v1.end(),v6.begin())后的v6是: ";
	for (int i = 0;i < v6.size(); i++)
		cout << v6[i] << " " ;
	cout << endl;
	return 0;
}

结果为:

v1 = {3,2,1,4}初始化并排序后为: 1 2 3 4
vector<int> v2(4)默认4个数赋值为0为: 0 0 0 0
vector<int> v3 = v1后的v3: 1 2 3 4
vector<int> v4(v1)后的v4为: 1 2 3 4
vector<int> v5(v1.begin(),v1.begin() + 1)后的v5为 : 1
copy(v1.begin(),v1.end(),v6.begin())后的v6是: 1 2 3 4
请按任意键继续. . .

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/T2777/article/details/87924855

智能推荐

shell中的单引号和双引号理解_shell脚本双引号没了-程序员宅基地

文章浏览阅读5.4k次,点赞3次,收藏4次。问题描述: 最近在写shell脚本的时候,涉及到一个使用shell脚本发送json数据的问题,就是发送的json数据双引号不见了,导致数据格式不正确,收到了错误的响应。后来仔细查看了资料才发现自己之前对shell单引号和双引号的理解有一些问题,在此记录一些现象和结果。问题解析: 1.首先,我这边使用的..._shell脚本双引号没了

Python安全攻防-从入门到入狱-程序员宅基地

文章浏览阅读1.8w次,点赞43次,收藏246次。Python安全攻防-从入门到入狱_python安全攻防

混合云的容量扩展与功能添加-程序员宅基地

文章浏览阅读61次。1.使用混合云来增加数据中心容量“混合云”这个术语已经在IT操作团队中普遍使用,但并不是每个人对此都意见一致。基本上,混合云是指任何情况下,企业的部分应用程序在企业的数据中心运行,另一部分在一个公共云或多个公共云(如AWS,Microsoft Azure或Google云平台)中运行。同时,私有云是企业将云类型架构和功能并入自己的私有数据中心。这里的..._基于共有云快速扩展

网络——奈奎斯特定理和香农定理-程序员宅基地

文章浏览阅读7.7k次,点赞21次,收藏54次。在宽带受限且有噪声的信道中,为了不产生误差,信息的数据传输速率有上限值。那么,信道的极限数据传输速率就为:W∗log2(1+S/N)W*log_2(1+S/N)W∗log2​(1+S/N)其中,W 为带宽,单位是Hz,S/N 是信噪比(没有单位)注意:若题目中给出信噪比包含单位dB(分贝),则需要先进行转化例如,电话系统的典型参数是信道带宽为3000Hz,信噪比为30dB,则该系统的最大数据传输速率为多少?【分析】 由 10∗log10(S/N)=30dB10*log_10(S/N) = 30_奈奎斯特定理

flutter 旋转指定角度的动画组件_flutter 旋转角度-程序员宅基地

文章浏览阅读3.9k次。import 'package:flutter/material.dart';/// 旋转动画,旋转指定角度 动画 + Transform.rotate() 实现class RotateContainer extends StatefulWidget{ final double endAngle; // 旋转角度 final bool rotated; //是否旋转 ..._flutter 旋转角度

tsl加密算法_【TLS】关于TLS中密码套件说明-程序员宅基地

文章浏览阅读1.2k次。TLS主要包含两部分协议,一部分是Record Protocol,描述了数据的格式,另一部分是Handshaking Protocols,描述了握手过程。握手的目的有两个,一个是保证通信的双方都是自己期待的对方,任何一方都不可能被冒充,另一个是交换加密密码,使得只有通信的双方知道这个密码,而别人不知道。前一个就是我们常说的认证,而后一个就是密码交换。认证是通过证书来达到的,而密码交换是通过证书里面..._谷歌支持的tsl密码套间

随便推点

uni-app 打包 ios 测试包,通过 testFlight 分发测试_uniapp testflight-程序员宅基地

文章浏览阅读5.2k次。uni-app 打包 ios 测试包,通过 testFlight 分发测试_uniapp testflight

php7 libevent扩展,php7下安装event扩展-程序员宅基地

文章浏览阅读66次。一·、安装支持库libevent,需要编译高版本(这里以最新版本release-2.1.8-stable为例)wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz -P /usr/local/srccd /usr/local/s..._mac php7 pecl libevent

RabbitMQ:SpringBoot+RabbitMQ的简单实现之Topic模式_springboot rabbitmq 消费者如何写topic模式的-程序员宅基地

文章浏览阅读1.1k次。RabbitMQ:SpringBoot+RabbitMQ的简单实现之Topic模式1.在pom中添加springboot对amqp的支持&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-amqp&a_springboot rabbitmq 消费者如何写topic模式的

微信小程序——使用excel-export导出excel_excel_export('a1:r18', 'store') excel_export('a20:-程序员宅基地

文章浏览阅读8.3k次,点赞3次,收藏41次。背景在学习微信小程序的过程中,需要导出excel文件数据,可是却没有后台服务器,所以只能够想着使用纯前端去导出excel 使用插件:excel-export导出思想将数据封装成excel文件 将excel文件上传到云存储中 将云存储的excel文件以图片的格式下载到本地 修改图片文件后缀为xlsx,成为excel文件操作将数据封装成excel文件;将excel文件上传到云存储中 建立云函数(我的云函数名称:uploadexportfile),打开云函数终端,安装excel-expo_excel_export('a1:r18', 'store') excel_export('a20:r34', 'agent')

element-ui中跑马灯的使用_elementplus走马灯获取当前-程序员宅基地

文章浏览阅读2.2w次,点赞10次,收藏13次。&lt;template&gt; &lt;div id="app"&gt; &lt;el-carousel :interval="5000" arrow="always"&gt; &lt;el-carousel-item v-for="(img,index) in imgList" :key="index"&gt; _elementplus走马灯获取当前

亚马逊VPC实操相关文档-程序员宅基地

文章浏览阅读65次。为什么80%的码农都做不了架构师?>>> ...