zoukankan      html  css  js  c++  java
  • C++中的vector使用范例

    原文链接

    http://blog.csdn.net/tjh666/article/details/1604119

    1.vector 的数据的存入和输出:

     1 #include<stdio.h>
     2 #include<vector>
     3 #include <iostream>
     4 
     5 using namespace std;
     6 
     7 void main()
     8 {
     9     int i = 0;
    10     vector<int> v;
    11     for( i = 0; i < 10; i++ )
    12    {
    13         v.push_back( i );//把元素一个一个存入到vector中
    14    }
    15 
    16    for( i = 0; i < v.size(); i++ )//v.size() 表示vector存入元素的个数
    17    {
    18         cout << v[ i ] << "  "; //把每个元素显示出来
    19    }
    20    cont << endl;
    21 }

     注:你也可以用v.begin()和v.end() 来得到vector开始的和结束的元素地址的指针位置。你也可以这样做:

    1 vector<int>::iterator iter;
    2 
    3 for( iter = v.begin(); iter != v.end(); iter++ )
    4 {
    5     cout << *iter << endl;
    6 }

    2. 对于二维vector的定义。

    1)定义一个10个vector元素,并对每个vector符值1-10。

     1 #include<stdio.h>
     2 #include<vector>
     3 #include <iostream>
     4 
     5 using namespace std;
     6 
     7 void main()
     8 {
     9  int i = 0, j = 0;
    10 
    11 //定义一个二维的动态数组,有10行,每一行是一个用一个vector存储这一行的数据。
    12 
    13 所以每一行的长度是可以变化的。之所以用到vector<int>(0)是对vector初始化,否则不能对vector存入元素。
    14  vector< vector<int> > Array( 10, vector<int>(0) ); 
    15 
    16 for( j = 0; j < 10; j++ )
    17  {
    18   for ( i = 0; i < 9; i++ )
    19   {
    20    Array[ j ].push_back( i );
    21   }
    22  }
    23 
    24  for( j = 0; j < 10; j++ )
    25  {
    26   for( i = 0; i < Array[ j ].size(); i++ )
    27   {
    28    cout << Array[ j ][ i ] << "  ";
    29   }
    30   cout<< endl;
    31  }
    32 }

    2)定义一个行列都是变化的数组

     1 #include<stdio.h>
     2 #include<vector>
     3 #include <iostream>
     4 
     5 using namespace std;
     6 
     7 void main()
     8 {
     9  int i = 0, j = 0;
    10 
    11  vector< vector<int> > Array;
    12  vector< int > line;
    13  for( j = 0; j < 10; j++ )
    14  {
    15   Array.push_back( line );//要对每一个vector初始化,否则不能存入元素。
    16   for ( i = 0; i < 9; i++ )
    17   {
    18    Array[ j ].push_back( i );
    19   }
    20  }
    21 
    22  for( j = 0; j < 10; j++ )
    23  {
    24   for( i = 0; i < Array[ j ].size(); i++ )
    25   {
    26    cout << Array[ j ][ i ] << "  ";
    27   }
    28   cout<< endl;
    29  }
    30 }
  • 相关阅读:
    python 学习记录
    Oracle Spatial构建自定义投影坐标系
    GeoWebCache参数之pixelSize(像素大小)
    MapViewer提示错误之Cannot read USER_SDO_TILE_ADMIN_TASKS view from database
    《微软ASP.NET和AJAX:构建网络应用程序》
    Microsoft Dynamics CRM 2011 beta 今天发布!
    重要:欢迎光临新版微软中文CRM论坛!
    快讯:CRM Update Rollup(升级包) 每8周一个!
    微软的云策略
    风向标:Microsoft Dynamics 与企业生产力
  • 原文地址:https://www.cnblogs.com/liangliangdetianxia/p/4497448.html
Copyright © 2011-2022 走看看