zoukankan      html  css  js  c++  java
  • STL 顺序容器之Vector

    目录


    1,构造方法:

    1. vector<type> vecList                                        创建一个没有任何元素的向量
    2. vector<type> vecList(otherVecList)               用另一个类型相同向量初始化该向量
    3. vector<type> vecList(size)                              初始化一个固定size的向量
    4. vector<type> vecList(n, element)                  初始化n个相同元素的向量
    5. vector<type> vecList(begin,end)                   初始化向量中的某一段元素,从begin 到 end - 1


    2 ,操作(插入,删除,遍历)

    1. vecList.clear()                                                   从容器中删除所有元素
    2. vecList.erase(position)                                   删除指定位置的元素
    3. vecList.erase(begin,end)                               删除一段元素,从begin 到end -1
    4. vecList.insert(position,element)                   插入元素到指定位置上
    5. vecList.insert(position.n,element)                插入n个相同元素到指定位置上
    6. vecList.insert(position,begin,end)                将自身的begin到end -1的元素插入到指定位置上
    7. vecList.push_back(element)                         在末尾添加一个元素
    8. vecList.pop_back()                                           删除最后一个元素
    9. vecList.resize(num)                                         将元素个数改为num,用默认构造函数初始化增加的元素
    10. vecList.resize(num,elem)                               将元素个数改为num,用elem初始化增加的元素


    迭代示例:

    vector<int> intList;
    	vector<int>::iterator intVecIter;
    
    	for (intVecIter = intList.begin();intVecIter != intList.end(); ++intVecIter)
    	{
    		cout << *intVecIter << endl;
    	}


    向量访问操作:

    vecList.at(index)                                返回指定位置上的元素

    vecList[index]                                     返回指定位置上的元素

    vecList.front()                                    返回第一个元素(不检查容器是否为空)

    vecList.back()                                    返回最后一个元素(不检查容器是否为空)

    向量容器大小操作:

    vecList.capacity()                              不重新分配内存时的最大容量

    vecList.empty()                                  空返回true,非空返回false

    vecList.size()                                      元素个数

    vecList.max_size()                            可以插入到容器中的最大个数


    示例代码1

    #include <vector>
    #include <iostream>
    using namespace std;
    
    int main() {
    	
    	vector<int> intList;
    	int i;
    
    	// 从尾部添加4个元素
    	intList.push_back(13);
    	intList.push_back(75);
    	intList.push_back(24);
    	intList.push_back(32);
    
    	// 用for循环遍历
    	cout << "List Elements: ";
    	for(i = 0; i < 4; i++) {
    		cout << intList[i] << " ";
    	}
    	cout << endl;
    
    	for(i = 0; i < 4; i++) {
    		intList[i] *= 2;
    	}
    	cout << "List Elements: ";
    	for(i = 0; i < 4; i++) {
    		cout << intList[i] << " ";
    	}
    	cout << endl;
    
    	// 用迭代器遍历
    	vector<int>::iterator listIter;
    	cout << "List Elements: ";
    	for (listIter = intList.begin(); listIter != intList.end(); ++listIter)
    	{
    		cout << *listIter << " ";
    	}
    	cout <<endl;
    
    	// 插入元素
    	listIter = intList.begin();
    	++listIter;
    	++listIter;
    	intList.insert(listIter,88);
    
    	cout << "List Elements: ";
    	for (listIter = intList.begin(); listIter != intList.end(); ++listIter)
    	{
    		cout << *listIter << " ";
    	}
    	cout <<endl;
    
    
    }



  • 相关阅读:
    Java基础其他
    java网络编程
    java多线程编程
    正则表达式--位置匹配和组
    设计模式
    深入 Java Web
    mysql 好用的sql语句
    spring boot 发送邮件
    dubbo的spi机制
    原理分析dubbo分布式应用中使用zipkin做链路追踪
  • 原文地址:https://www.cnblogs.com/wjchang/p/3671663.html
Copyright © 2011-2022 走看看