cpp中vector动态数组(一种container)的简单用法

   vector<int> num;
    for (int i=0; i<10; ++i)num.push_back(i);
    num.push_back(10);
    num.push_back(10);
    cout << "Original array:\n";
    //vector<int>::iterator it;  //C++11之前用的,11之后可以用auto
    for (auto it=num.begin(); it!=num.end(); ++it)
    {
        cout << *it << "  ";
    }
    cout << endl;
    num.insert(num.begin()+2,3,10); //在num[2]之前加3个10
    cout << "Inserted array:\n";
    for (auto it=num.begin(); it!=num.end(); ++it)
    {
        cout << *it << "  ";
    }
    cout << endl;
    //delete 10
    for (auto it=num.begin(); it!=num.end(); ++it)
    {
        if ( *it == 10 )
        {
            num.erase(it); //删除it指向的元素,后it自动指向下一个元素
            --it;
        }
    }
    cout << "Deleted 10 array:\n";
    for (auto it=num.begin(); it!=num.end(); ++it)
    {
        cout << *it << "  ";
    }

  运行结果:

原文地址:https://www.cnblogs.com/htj10/p/9194776.html

时间: 2024-10-11 08:47:14

cpp中vector动态数组(一种container)的简单用法的相关文章

C#语言中的动态数组(ArrayList)模拟常用页面置换算法(FIFO、LRU、Optimal)

目录 00 简介 01 算法概述 02 公用方法 03 先进先出置换算法(FIFO) 04 最近最久未使用(LRU)算法 05 最佳置换算法(OPT) 00 简介 页面置换算法主要是记录内存的忙闲状态,为进程分配和释放内存.当主存的空间太小而无法装入所有的进程时,就需要在内存和硬盘之间进行调度操作. 多数操作系统只采用某种特定的页面置换算法进行置换,无法预先探测当前运行进程的页面访问模式,因此不能根据不同的页面访问模式,选用不同的页面置换算法.当然,如果能对不同的访问模式选取相应的页面置换算法,

[C] 在 C 语言编程中实现动态数组对象

对于习惯使用高级语言编程的人来说,使用 C 语言编程最头痛的问题之一就是在使用数组需要事先确定数组长度. C 语言本身不提供动态数组这种数据结构,本文将演示如何在 C 语言编程中实现一种对象来作为动态数组. /* Author: [email protected] */ 基本的 C 数组 C 语言编程中声明一个基本数组如下: int main() { // 声明一个容纳 3000 个整数的数组 int my_array[3000]; } 以上代码做了两件事: ● 在栈区开辟内存空间.准确说来是在

[转]STL中vector转数组(实际是数组的指针)

感谢:http://topic.csdn.net/t/20050429/20/3976956.html 感谢:http://yzyanchao.blogbus.com/logs/47796444.html 不过那边是转载自<effective stl>. std::vector很方便,但有时调用的函数的参数规定是数组,需要将vector转为数组,另外开辟一个空间,将vector一项项复制过去代价过大,可用下面的方法. 给定一个 vector<int>   v;         表达

关于C#中的动态数组ArrayList

在C#中,如果需要数组的长度和元素的个数随着程序的运行不断改变,就可以使用ArrayList类,该类是一个可以动态增减成员的数组. 二.ArrayList类与Array类的区别 ArrayList类实际上是Array类的优化版本. ArrayList只能定义一维数组,Arrays可以定义多维数组. ArrayList的下限始终为0,Array可以定义自己的下限. ArrayList的元素都是object类型的,因此需要进行装箱和拆箱操作,内存分配的代价很高,而Array的元素通常是特定类型的.

[Powershell] Powershell中的动态数组

This artical will also be published in English http://www.cnblogs.com/LarryAtCNBlog/p/4252464.html 又或者说是C#? 因为powershell本源就是C#.当然,标题是个伪命题,根据如下MSDN页所述,对于一个array对象来说,IsFixedSize属性一直就是true的. https://msdn.microsoft.com/en-us/library/system.array.isfixeds

C++ Vector 动态数组

Vectors 包含着一系列连续存储的元素,其行为和数组类似.访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度. Constructors 构造函数 Operators 对vector进行赋值或比较 assign() 对Vector中的元素赋值 at() 返回指定位置的元素 back() 返回最末一个元素 begin() 返回第一个元素的迭代器 capacity() 返回vector所能容纳的元

八连通(vector动态数组法)

题目和一般的八连通一样,但行数和列数未定,相乘对于1e6,直接开a[1e6][1e6]的数组肯定会爆内存.用二维的动态vector就能很好的解决这个问题 #include<bits/stdc++.h> using namespace std; int dx[10]={-1,0,1,-1,1,-1,0,1}; int dy[10]={1,1,1,0,0,-1,-1,-1}; int n,m; void dfs(vector< vector < bool > >&a

关于delphi XE7中的动态数组和并行编程(第一部分)

本文引自:http://www.danieleteti.it/category/embarcadero/delphi-xe7-embarcadero/ 并行编程库是delphi XE7中引进的最受期待的功能之一.下面是一个简单的并行编程例子:   procedure TFormThreading.Button1Click(Sender: TObject); var   tasks: array of ITask;   value: Integer; begin   value := 0;   t

Cpp中vector的输出打印

1. for typedef vector<int> Vct; Vct va; va.push_back(1); va.push_back(2); va.push_back(3); for(const int& k : va) cout << k << " "; cout << endl; 2. for_each    声明在  #include <algorithm> template <class T>