STL学习篇:vector的简单使用

  vector,一个动态数组!在堆中操作,元素连续存放,可以直接访问其中的任何元素,初始分配有内存,当保留内存不够的时候,会再分配内存!

  下面看一个vector的构造函数例子:

 1 #include <iostream>
 2 #include<vector>
 3 #include<string>
 4 
 5 int main()
 6 {
 7     using namespace std;
 8 
 9     //类模板,模板参数
10     vector<int> ivec;//保存int数据类型的vector
11     vector<double> dvec;
12     vector<string> svec;
13 
14     vector<int> a;//a是一个空的容器
15     vector<int> b(5, 4);//b是一个容器,里面有5个4
16 
17     a.push_back(1);
18     a.push_back(2);
19     a.push_back(3);
20 
21     b.push_back(10);
22     b.push_back(11);
23 
24     cout << a.size() << endl;
25     cout << b.size() << endl;
26 
27     //不用int类型的循环变量
28     //for(int i
29     for(vector<int>::size_type i = 0; i != a.size();++i)
30     {//size_type是容器概念,没有容器不能使用。
31         cout << a[i] << endl;
32     }
33 
34     for(vector<int>::size_type i = 0; i != b.size(); ++i)
35     {
36         cout << b[i] << endl;
37     }
38     //vector<int>::iterator airt;
39     return 0;
40 }
vectorConstruct

  下面看一个vector输入输出例子:

#include<vector>
#include<iostream>
#include<string>

using namespace std;

int main()
{
    vector<int> ivec;//空,没有数据
    cout << ivec.size() << endl;

    cout << "请输入五个数" << endl;
    int k;
    for (vector<int>::size_type ix = 0; ix != 5; ++ix)
    {
        //cin << ivec[ix];//初始如果没有下标,不可以这样操作
        cin >> k;
        ivec.push_back(k);
    }

    cout << "显示数据是:" << endl;
    for (vector<int>::size_type ix = 0; ix != ivec.size(); ++ix)
    {
        cout << ivec[ix] << "\t";
    }

    cout << "请输入字符串" << endl;
    string word;
    vector<string> text;
    while (cin >> word)
    {
        text.push_back(word);
    }
    for (vector<int>::size_type i = 0; i != text.size(); ++i)
    {
        cout << text[i] << endl;
    }

    return 0;
}

这就是vector的一些常用操作!

posted @ 2015-08-02 22:29  ljj江江  阅读(187)  评论(0编辑  收藏  举报