STL之vector(向量)
C++编程语言中有一种叫做Vector的应用方法,它的作用在实际编程中是非常重要的,这里详细介绍一下C++ Vector的相关应用技巧及基本内容:
Construct vector
#include
#include
using namespace std ;
int main() {
vector first ; //定义一个对象
vector second(4,100) ; //定义一个对象,并为该对象赋初始值
vector third(second.begin(),second.end()) ; // 将对象second中的值赋给hird
vector fourth(third) ; //将对象third中的值赋给ourth
int a[] = {1,2,3,4,5,6,7,8} ;
vector fifth(a,a+6) ; //将数组a中的前6个值赋给对象ifthvector::iterator iter2 = second.begin() ;
for(; iter2 != second.end() ; iter2++)
cout ::iterator iter3 = third.begin() ;
for(; iter3 != third.end() ; iter3++)
cout ::iterator iter4 = fourth.begin() ;
for(; iter4 != fourth.end() ; iter4++)
cout ::iterator iter5 = fifth.begin() ;
for(; iter5 != fifth.end() ; iter5++)
cout
对象的复制#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() { //对象的复制
ve foo(3,0) ;
ve bar(5,0) ;
bar = foo ;
foo = ve() ;
cout
逆序输出:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() { //逆序输出
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
ve::reverse_iterator iter = v.rbegin() ;
for( ; iter != v.rend() ; iter++)
cout
重定义对象的大小:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() {
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
v.resize(10) ;
for(int i = 0 ; i
判断对象是否为空:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() {
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
while(!v.empty()) {
cout
对象中第一个元素和最后一个元素:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() {
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
cout
在对象中插入一个元素:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() {
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
ve::iterator iter = v.begin() ;
iter = v.insert(iter+2,200) ; // 在第二个元素之后插入一个元素200
for(int i = 0 ; i
或者这样实现插入:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() {
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
v.insert(v.begin(),2,200) ; // 在第一个元素之前插入两个元素200
for(int i = 0 ; i
对象中元素的删除:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() {
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
v.erase(v.begin(),v.begin()+2) ; // 删除前两个元素
for(int i = 0 ; i
清空对象中的所有元素:#include
#include
#include
using namespace std ;
typedef vector ve ;
int main() {
int a[] = {1,2,3,4,5,6,7,8} ;
ve v(a,a+sizeof(a)/sizeof(int)) ;
v.clear() ;
for(int i = 0 ; iSTL之vector(向量)的更多相关文章
- C++STL之Vector向量详解,用法和例子 一起学习 一起加油
C++ STL之vector用法总结 1 ...
- C++STL之vector向量容器
vector向量容器 vector向量容器不但能向数组一样对元素进行随机访问, 还能在尾部插入元素 vector具有内存自动管理的功能, 对于元素的插入和删除, 可动态调整所占的内存空间 vect ...
- STL --> vector向量
vector向量 vector是一种对象实体,能够容纳许多其他类型相同的元素,因为又被称为容器. 头文件 在使用它时,需要包含头文件 <vector>. #include <vect ...
- 跟我一起学STL(2)——vector容器详解
一.引言 在上一个专题中,我们介绍了STL中的六大组件,其中容器组件是大多数人经常使用的,因为STL容器是把运用最广的数据结构实现出来,所以我们写应用程序时运用的比较多.然而容器又可以序列式容器和关联 ...
- STL 统计vector容器中指定对象元素出现的次数:count()与count_if()算法
1 统计vector向量中指定元素出现的次数:count()算法 利用STL通用算法统计vector向量中某个元素出现的次数:count()算法统计等于某个值的对象的个数. #include &quo ...
- vector 向量容器用法祥解
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: ...
- STL中vector、list、deque和map的区别
1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capac ...
- 【转】STL中vector、list、deque和map的区别
1.vector 向量 相当于一个数组 在内存中分配一块连续的内容空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数 ...
- vector向量容器(常用的使用方法总结)
关于STL中vector容器的学习,编译运行后边看代码,边看执行结果效果更佳,还是想说看别人的代码一百遍,不如自己动手写一遍. vector向量容器不但能像数组一样对元素进行随机访问,还能随时在尾部插 ...
- [STL][C++]VECTOR
参考:http://blog.csdn.net/hancunai0017/article/details/7032383 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个 ...
随机推荐
- 重拾javascript动态客户端网页脚本
笔记一: 一.DOM 作用: · DOM(Doument Object Model) 1.document文档 HTML 文件 (标记语言) <html> < ...
- Oracle 数据库导入、导出
第一步:新建一个txt文件: exp.exe jeamsluu@test file=d:\daochu.dmp log=1.log 另存为.bat格式的文件 第二步:双击运行:此时会弹出输入口令的对话 ...
- Linux同平台Oracle数据库整体物理迁移
Linux同平台数据库整体物理迁移需求:A机器不再使用,要将A机器的Oracle迁移到B机器.之前写过类似需求的文章: http://www.linuxidc.com/Linux/2015-05/11 ...
- Java常用类库--观察者设计模式( Observable类Observer接口)
如果要想实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口. import java.util.* ; class House extends Obse ...
- BZOJ 1177 [Apio2009]Oil(递推)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1177 [题目大意] 给出一个矩阵,从中选出3个k*k且不相交的矩阵,使得其总和最大 [ ...
- MZL's xor
MZL's xor Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/65536K (Java/Other) Total Sub ...
- c#中常用的异常类型
c#中异常捕获catch{}常用的异常类型 Exception 类 描述 SystemException 其他用户可处理的异常的基本类 ArgumentException 方法的参数是非法的 ...
- iOS中Block介绍 基础
ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发.讨论范围:block的使用,内存管理,内部实现.不包含的内容:gc arc下的block内存,block在c++中 ...
- c/c++测试程序运行时间
算法分析中需要对各种算法进行性能测试,下面介绍两种通用的测试方法,由于只用到标准c语言函数,所以在各种平台和编译器下都能使用. 方法1: clock()函数 开始计时:start = clock() ...
- xcode initWithCoder\awakeFromNib\layoutSubviews
控件通过xib,storyboard创建,初始化设置一定会调用initWithCoder awakeFromNib 加载完毕的时候肯定会调用 layoutSubviews 布局子控件 位置和尺寸 利用 ...