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++中的一种数据结构,确切的说是一个类.它相当于一个 ...
随机推荐
- Html 小插件5 百度搜索代码2
网页添加百度搜索框代码大全 ★ 用法:在下面选择合适的样式,复制代码到网页中相应位置粘贴即可. ★ 样式一(200×30)代码: <iframe id="baiduframe" ...
- css vertical-align全解
CSS 的属性 vertical-align 指定了内联(inline)元素或表格单元格(table-cell)元素的垂直对齐方式. 要记住:vertical-align不影响块级元素中内容的对齐. ...
- 补丁(patch)的制作与应用
命令简介 用到的两个命令是diff和patch. diff diff可以比较两个东西,并可同时记录下二者的区别.制作补丁时的一般用法和常见选项为: diff [选项] 源文件(夹) 目的文件(夹) - ...
- java常用系统包介绍
java.applet提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类.java.awt包含用于创建用户界面和绘制图形图像的所有类.java.awt.colo ...
- HDU1695-GCD(数论-欧拉函数-容斥)
GCD Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- poj1363Rails(栈模拟)
主题链接: id=1363">啊哈哈,点我点我 思路: 这道题就是一道简单的栈模拟. .. .我最開始认为难处理是当出栈后top指针变化了. .当不满足条件时入栈的当前位置怎么办.这时 ...
- linux之线程
http://blog.csdn.net/lanyan822/article/details/7586845 POSIX线程数据类型: pthread_t 线程标识符: pthread_mutex_t ...
- CSS learnning...
"Whenever this property changes, apply that change slowly." The property transition: width ...
- bootstrap table笔记
获取选中行:$table.bootstrapTable('getSelections');
- 1.1. chromium源代码分析 - chromiumframe - 介绍
本人能力有效,面对chromium庞大的代码就头大.还是先由前辈的chromiumFrame入手. 1. chromeFrame概貌 chromiumFrame是前辈的心血之作,以最小化的方式抽出ch ...