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的一些常用操作!

时间: 2024-11-28 22:03:12

STL学习篇:vector的简单使用的相关文章

STL学习篇:“投机取巧”地学习

这两天一直在学习STL,先大致说一下我的学习的方法:最初是大致看一遍STL的初级入门书,然后再过一遍网上大牛讲的视频,一边跟着操作,不懂的一般就在网上一直找!看看大牛发的帖子!基本学习方法就是这样啦,总的来说谁也不可能避免实际操作这一环节,因为我们都是要学以致用的!也许有人学习新知识比较快,可以不看视频之类的,这个我只想说自己根据自己的情况来定吧!不瞎扯啦,我也只只是一个小小的初学者,就说说这两天碰到的问题吧! 大牛的视频中,每次都是要包含需要的头文件,然后就是选择合适的容器,进行初始化,输出,

STL学习篇:数据的输出

我们都知道计算机由5个部分组成:控制器(Control).运算器(Datapath). 存储器(Memory).输入(Input system) 输出(Output system).不管是什么时候,我们都是得到相应的数据,然后输入到处理设备进行相应处理,然后输出,这其中不能缺少任何一个环节!所有现在人们提高计算机的处理速度是很重要的,那么数据的输入.输出操作也是非常重要的!这两天一直在学习STL,就给大家说一说在程序应用中,数据输出的方法,这里只是涉及一些简单的皮毛,比较简单,只是使用函数方法的

STL学习篇:初始了解

先说说,为什么突然对STL感兴趣拉吧,早就发现这个神奇而又令人惊叹的知识啦!学会了解使用它,编写代码方便,思路清晰,对一些算法性的东西要求也不是很深,就像去用它,而不是我想使用树的结构时候,还需要自己去重新想再去写,表示学过一段时间,一时半会不看书,感觉写不出来,主要还是功夫不到家!但是就是因为任性,也想去学它,所以果断开始啦! STL(Standard Template Library),即标准模板库,包含了大量数据结构和算法的部件等的运行库!有了它,我们可以很快的开发C++程序,实现自己想实

STL学习(multiset Vector)

Vector比数组好用多了,毕竟是可变长的. 常用来建图. 需要掌握的就是构造函数,添加数据,删除数据. #include<set> #include<ctime> #include<cmath> #include<cstdio> #include<vector> #include<cstring> #include<iostream> #include<algorithm> #define maxn 1100

STL学习之vector

vector是一个线性顺序结构.相当于数组,但其大小可以不预先指定,并且自动扩展.它可以像指针一样被操作,由于它的特性我们完全可以将vector看做动态数组. 特点: 1.指定一块如同数组一样的连续存储,但空间可以动态扩展.即它可以像数组一样操作,并且可以动态操作. 2.随机访问方便,它像数组一样被访问. 3.节省空间,因为它是连续存储,在存储的区域是没有被浪费的,当然未存储的区域实际是浪费的. 4.在内部插入删除效率非常低,这样的操作基本是被禁止的.vector被设计成只能在后端进行追加和删除

Java学习篇之---JNI简单实现(续)

上篇文章中,在生成头文件的时候出了个岔子,好在功夫不负有心人,最终困难被克服了! 下面我接着来写步骤二的第9)步: 步骤二: 9)设置64位编译平台: 打开Microsoft Visual Stutio 2008--->File--->New--->Project...---> OK--->Next---> Finish后会生成一个空项目: 默认是采用Win32平台,而我的操作系统是64位的,所以: 点击Configuration Manager... 默认如下图所示:

STL学习——Vector篇

STL学习--Vector篇 vector简介 vector的数据安排及操作方式与array非常相似,两者的区别在于空间运用的灵活性.array是静态空间,一旦配置了,就不能改变:要换个大(或小)一点的可以,但琐碎的事由客户端完成:首先配置一块新空间,然后将元素从旧址一一搬往新址,再把原来的空间释还给系统.而vector是动态空间,随着元素的加入,它的内部机制会自动扩充空间以容纳新元素.它对内存的合理利用和灵活运用有很大的帮助. vector实现关键技术:对大小的控制以及重新配置时的数据移动效率

STL学习——Priority_queue篇

STL学习--Priority_queue篇 概述 priority_queue是一个拥有权值观念的queue,它允许加入新元素,移除旧元素,审视元素值等功能.因为它是queue,故只允许底端加入元素,顶端取出元素.priorit_queue内元素并非依照被推入的次序排列,而是依照元素权值排列.权值最高者,排在最前面. 实现 priority_queue利用max_heap和vector表现的完全二叉树实现.它的实现完全以底部容器为根据,并使用heap处理规则,故实现简单.默认情况,使用vect

标准模板库(STL)学习探究之vector容器

标准模板库(STL)学习探究之vector容器  C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据.为了可以使用vector,必须在你的头文件中包含下面的代码:#include <vector>构造函数. Vectors 包含着一系列连续存储的元素,其行为和数组类