C++ <vector>入门(1)
来源:互联网 发布:阿里云流量计费标准 编辑:程序博客网 时间:2024/04/30 10:13
一.语法:
#include <vector>
vector(); 默认构造函数
vector( const vector& c ); 从一个已知的vector对象复制到新vector对象中
vector( size_type num, const TYPE& val = TYPE() ); 有num个元素,如果有val,则每个元素的值都是val
vector( input_iterator start, input_iterator end ); 被初始化为start到end的元素
~vector(); 析钩函数
例子:
#include <vector>
vector(); 默认构造函数
vector( const vector& c ); 从一个已知的vector对象复制到新vector对象中
vector( size_type num, const TYPE& val = TYPE() ); 有num个元素,如果有val,则每个元素的值都是val
vector( input_iterator start, input_iterator end ); 被初始化为start到end的元素
~vector(); 析钩函数
例子:
// create a vector of random integers 创建一个包含随机数的vector对象
cout << "original vector: ";
vector<int> v;
for( int i = 0; i < 10; i++ ) {
int num = (int) rand() % 10;
cout << num << " ";
v.push_back( num );
}
cout << endl;
// find the first element of v that is even 找到vector对象中的第一个元素
vector<int>::iterator iter1 = v.begin();
while( iter1 != v.end() && *iter1 % 2 != 0 ) {
iter1++;
}
// find the last element of v that is even 找到最后一个元素
vector<int>::iterator iter2 = v.end();
do {
iter2--;
} while( iter2 != v.begin() && *iter2 % 2 != 0 );
// only proceed if we find both numbers 找到初始和结束的元素
if( iter1 != v.end() && iter2 != v.begin() ) {
cout << "first even number: " << *iter1 << ", last even number: " << *iter2 << endl;
cout << "new vector: ";
vector<int> v2( iter1, iter2 );
for( int i = 0; i < v2.size(); i++ ) {
cout << v2[i] << " ";
}
cout << endl;
}
结果:
original vector: 1 9 7 9 2 7 2 1 9 8
first even number: 2, last even number: 8
new vector: 2 7 2 1 9
二:方法
1.assign
#include <vector>
void assign( size_type num, const TYPE& val );
void assign( input_iterator start, input_iterator end );
例子:vector<int> v;结果:42 42 42 42 42 42 42 42 42 42
v.assign( 10, 42 ); 构造函数1
for( int i = 0; i < v.size(); i++ ) {
cout << v[i] << " ";
}
cout << endl;vector<int> v1;
for( int i = 0; i < 10; i++ ) {
v1.push_back( i );
}
vector<int> v2;
v2.assign( v1.begin(), v1.end() ); 构造函数2
for( int i = 0; i < v2.size(); i++ ) {
cout << v2[i] << " ";
}
cout << endl;
结果:0 1 2 3 4 5 6 7 8 9
2.at
#include <vector>
TYPE& at( size_type loc );
const TYPE& at( size_type loc ) const;
例子:
vector<int> v( 5, 1 );
for( int i = 0; i < 10; i++ ) {
cout << "Element " << i << " is " << v[i] << endl;
}
下面的安全些:
vector<int> v( 5, 1 );
for( int i = 0; i < 10; i++ ) {
cout << "Element " << i << " is " << v.at(i) << endl;
}
3.back
#include <vector>
TYPE& back();
const TYPE& back() const;
例子:
vector<int> v;
for( int i = 0; i < 5; i++ ) {
v.push_back(i);
}
cout << "The first element is " << v.front()
<< " and the last element is " << v.back() << endl;
结果:
The first element is 0 and the last element is 4
4.begin
#include <vector>
iterator begin();
const_iterator begin() const;
例子:
vector<string> words;
string str;
while( cin >> str ) words.push_back(str);
vector<string>::iterator iter;
for( iter = words.begin(); iter != words.end(); iter++ ) {
cout << *iter << endl;
}
结果:
输入:hey mickey you're so fine
输出:hey
mickey
you're
so
fine
5.capacity
#include <vector>
size_type capacity() const;
例子:vector<int> v1(10);结果:
cout << "The capacity of v1 is " << v1.capacity() << endl;
vector<int> v2;
v2.reserve(20);
cout << "The capacity of v2 is " << v2.capacity() << endl;
The capacity of v1 is 10
The capacity of v2 is 20
6.clear
#include <vector>
void clear();
清空所有元素
0 0
- 【c/c++】Vector入门
- C++ <vector>入门(1)
- STL学习----入门(1)[Vector]
- C++STL学习(1)容器vector
- Numerical C++(1) vector
- c++(vector)问题
- C++ <vector>入门(2)
- vector入门
- vector入门
- C++(1)入门
- C++vector用法(转)
- vector 容器类 (C++)
- 数据结构-Vector实现(C++)
- Vector 的使用(C++)
- [C++ 从入门到放弃-01]C++STL之vector
- C++Vector
- c++vector
- c++:vector
- objective-c构造函数举例
- objective-c 中isMemberOfClass的使用举例isKindOfClass的应用举例
- respondsToSelector instancesRespondToSelector
- 魅族Ubuntu phone系统手机曝光
- C++中ctype函数库
- C++ <vector>入门(1)
- C++ <vector>入门(2)
- 张瑞敏再发狠话:未来硬件不要钱,软件要钱
- c++ algorithm 的用法
- objective-读文件
- 单一职责
- 变强之路(OI知识盘点)
- 开放闭合原则
- 依赖代之原则