zoukankan      html  css  js  c++  java
  • vector数组用法及举例

    vector详解

    1.调用vector的头文件

    注意:c++编程中填写这个头文件

    2.vector的用法

    注意:大概来讲,vector就是一个变长数组,与a[]这种普通数组不同的是,他不用定义多长,是根据用户的用法变化的,同时它的用法及方法也与普通数组不同

    3.vector的存取方法及特殊

    注意:vector的存取与栈相同(即一种无盖有底的“洞”,从顶端存入,从顶端取出);

    3.vector数据的读取及其他方法

    注意:iterator是一种迭代器,即一种读取器,其功能类似for循环;利用iterator来输出或存取大量的数据;


    vector优势:

    大小能否变化

    vector属于变长容器,即可以根据数据的插入删除重新构建容器容量,但array和数组属于定长容量。

    初始化

    数组不能将数组的内容拷贝给其他数组作为初始值,也不能用数组为其他数组赋值,而向量可以。

    vector提供了更好的数据访问机制,即可以使用及at访问方式,使得访问更加安全。而数组只能通过下标访问,在程序的设计过程中,更容易引发访问错误。

    vector提供了size和判空的获取机制,而数组只能通过遍历或者通过额外的变量记录数组的size。

    vector提供了可以动态插入和删除元素的机制,而array和数组则无法做到,或者说array和数组需要完成该功能则需要自己实现完成。

    深度搜索:内存中的位置

    C++中数组为内置的数据类型,存放在栈中,其内存的分配和释放完全由系统自动完成;vector,存放在堆中,由STL库中程序负责内存的分配和释放,使用方便。


    vector实例帮助理解

    题目描述

    小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。

    输入格式

    一行内输入一串整数,以0结束,以空格间隔。

    输出格式

    一行内倒着输出这一串整数,以空格间隔。

    输入输出样例

    输入

    3 65 23 5 34 1 30 0

    输出

    30 1 34 5 23 65 3

    具体代码:

    #include<iostream>
    #include<vector>
    using namespace std;
    
    int main(){
    	vector<int> a;
    	int count=0;
    	int x;
      while(cin>>x){
      	if(x==0) break;
      	else a.push_back(x);
      }
      for(vector<int>::iterator it=a.end()-1;it>=a.begin();it--){  //iterator迭代器输入输出
      	cout<<(*it)<<" ";
      }   
    	
    	return 0;
    }
    

     使用iterator迭代器进行迭代输入输出;

    注意:vector数组由于其特殊性适用一些算法,但也不适用一些场合,所以一般使用普通的数组即可;

  • 相关阅读:
    整理了8个Python中既冷门又实用的技巧
    python中68个内置函数的总结
    Python中常见的8种数据结构的实现方法(建议收藏)
    python基础教程:dir()和__dict__属性的区别
    Python 优雅获取本机 IP 方法
    Python类中的self到底是干啥的
    python中反转列表的三种方式
    Flask学习笔记(2)-login_page
    利用Flask + python3.6+MYSQL编写一个简单的评论模块。
    最近写了个自动填写调查的问卷的简单爬虫
  • 原文地址:https://www.cnblogs.com/zmz-zero/p/12260724.html
Copyright © 2011-2022 走看看