您的位置:首页 > 编程语言 > C语言/C++

C++ Vector用法深入剖析

2013-10-06 10:10 141 查看

C++ Vector用法深入剖析

C++编程语言中有一种叫做Vector的应用方法,它的作用在实际编程中是非常重要的。在这里我们将会为大家详细介绍一下C++ Vector的相关应用技巧及基本内容,希望能给大家带来一些帮助。

(1)vector< 类型 > 标识符 ;

(2)vector< 类型 > 标识符(最大容量) ;

(3)vector< 类型 > 标识符(最大容量,初始所有值);

(4) int i[4] = {12,3,4,5};

vector< 类型 > vi(i , i+2); //得到i索引值为3以后的值 ;

(5)vector< vector<int> > //vi 定义2维的容器;记得一定要有空格,不然会报错

vector< int > line

// 在使用的时候一定要首先将vi个行进行初始化;

for(int i = 0 ; i < 10 ; i ++)

{

vector.push_back(line);

}

/// 个人认为使用vector定义二维数组很好,
因为是长度可以不预先确定。很好。

(6)C++ Vector排序

vector< int > vi ;

vi.push_back(1);

vi.push_back(3);

vi.push_back(0);

sort(vi.begin() , vi.end()); /// /小到大

reverse(vi.begin(),vi.end()) /// 从大道小

(7)顺序访问

vector < int > vi ;

for( int i = 0 ; i < 10 ; i ++)

{

vi.push_back(i);

}

for(int i = 0 ; i < 10 ; i ++) /// 第一种调用方法

{

cout <<vi[i] <<" " ;

}

for(vector<int>::iterator it = vi.begin() ;

it !=vi.end() ; it++) ///第二种调用方法

{

cout << *it << " " ;

}

(8)寻找

vector < int > vi ;

for( int i = 0 ; i < 10 ; i ++)

{

vector.push_back(i);

}

vector < int >::interator it = find(vi.begin() , vi.end,3) ;

cout << *it << endl ; ///返回容器内找到值的位置。

(9)使用数组对C++ Vector进行初始化

int i[10] ={1,2,3,4,5,6,7,78,8} ;

///第一种

vector<int> vi(i+1,i+3); ///从第2个元素到第三个元素

for(vector <int>::interator it = vi.begin() ;

it != vi.end() ; it++)

{

cout << *it <<" " ;

}

(10) 结构体类型

struct temp

{

public :

string str ;

public :

int id ;

}tmp;

int main()

{

vector <temp> t ;

temp w1 ;

w1.str = "Hellowor" ;

w1.id = 1 ;

t.push_back(t1);

cout << w1.str << "," <<w1.id <<endl ;

return 0 ;

}

C++ Vector的基本介绍就为大家介绍到这里。

vector::push_back

public member function

void push_back ( const T& x );


Add element at the end

Adds a new element at the end of the vector, after its current last element. The content of this new element is initialized to a copy of x.

This effectively increases the vector size by one, which causes a reallocation of the internal allocated storage if the vector size was equal to the vector capacity before the call. Reallocations invalidate all previously obtained iterators, references and pointers.

Parameters

xValue to be copied to the new element.
T is the first template parameter (the type of the elements stored in the vector).

Return value

none

If a reallocation happens, it is performed using Allocator::allocate(), which may throw exceptions (for the defaultallocator, bad_alloc is thrown if the allocation request does not succeed).

Example

// vector::push_back
#include <iostream>
#include <vector>

int main ()
{
std::vector<int> myvector;
int myint;

std::cout << "Please enter some integers (enter 0 to end):\n";

do {
std::cin >> myint;
myvector.push_back (myint);
} while (myint);

std::cout << "myvector stores " << int(myvector.size()) << " numbers.\n";

return 0;
}


The example uses push_back to add a new element to the vector each time a new integer is read.

Complexity

Constant (amortized time, reallocation may happen).

See also

vector::pop_backDelete last element (public member function)
vector::insertInsert elements (public member function)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: