C++STL (vector,list,map)

//////////////////////////////////////////////////////////////////////////
///author:Jeson Yang
///Date:2014.9.15
//////////////////////////////////////////////////////////////////////////
#include <vector>
#include <list>
#include <iostream>
#include <map>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
 //////////////////////////////////////////////////////////////////////////
 //vector
 vector<int> *vecInteger = new vector<int>();
 int num[10] = {1,2,3,4,5,6,7,8,9,10};

 vecInteger->push_back(num[0]);
 vecInteger->push_back(num[1]);

 std::cout<<"iterator use way"<<endl;
 for (vector<int>::iterator it = vecInteger->begin(); it != vecInteger->end(); ++it)
 {
  std::cout<<*it<<endl;
 }

 cout<<"for int i"<<endl;
 for (int i = 0; i < vecInteger->size(); i++)
 {
  cout<<*(vecInteger->begin() + i)<<endl;
  cout<<(*vecInteger)[i]<<endl;
 }

 vecInteger->pop_back();
 vecInteger->clear();

 vecInteger->clear();
 delete vecInteger;

 //////////////////////////////////////////////////////////////////////////
 //map
 map<int, int> *mapInteger = new map<int, int>();
 mapInteger->insert(pair<int, int>( 1, num[0]));
 mapInteger->insert(pair<int, int>(2, num[1]));
 mapInteger->insert(map<int, int>::value_type(3, num[2]));

 for (map<int, int>::iterator it = mapInteger->begin(); it != mapInteger->end(); it++)
 {
  cout<<"it->first = "<<it->first << "it->second = " <<it->second<<endl;
 }

 for (int i = 0; i < mapInteger->size(); i++)
 {
  cout<<(&mapInteger)[i]<<endl;
 }

 map<int, int>::iterator iter = mapInteger->find(1);
 if(iter != mapInteger->end())
 {
  cout<<"Find, the value is "<<iter->second<<endl;
 }
 else
 {
  cout<<"Do not Find"<<endl;
 }
 mapInteger->clear();
 delete mapInteger;

 //////////////////////////////////////////////////////////////////////////
 //list
 list<int> *listInteger = new list<int>();
 listInteger->push_back(num[0]);
 listInteger->push_back(num[1]);
 listInteger->push_front(num[2]);

 //list不要插入两个相同的元素,否则根据insert的描述可能出现问题
 //listInteger->insert()

 for (list<int>::iterator it = listInteger->begin(); it != listInteger->end(); it++)
 {
  cout<<*it<<endl;
 }
 //reinterpret_cast<list<int>::iterator>();
 for (int i = 0; i < listInteger->size(); i++)
 {
  //cout<<*(listInteger->begin() + i)<<endl;
 }
 listInteger->pop_back();
 listInteger->pop_front();
 listInteger->remove(num[1]);

 listInteger->clear();
 delete listInteger;
 return 0;
}
时间: 2024-10-09 19:18:40

C++STL (vector,list,map)的相关文章

STL中常用的vector,map,set 用法

STL中常用的vector,map,set 用法 C++的标准模板库(Standard Template Library,简称STL)是一个容器和算法的类库.容器往往包含同一类型的数据.STL中比较常用的容器是vector,set和map,比较常用的算法有Sort等. . 一. vector 1.声明: 一个vector类似于一个动态的一维数组. vector中可以存在重复的元素! vector<int> a;          // 声明一个元素为int类型的vector a vectot&

C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法

每次忘记都去查,真难啊 1 /* 2 C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法 3 */ 4 5 /* 6 vector常用用法 7 */ 8 //头文件 9 #include<vector> 10 11 //常用的初始化方法 12 vector<int> v; //直接定义一个整型元素的向量 且未声明长度,其中int的位置可以换成别的数据类型或者结构体等 13 vector<int> v(10);

C++ STL vector容器学习

STL(Standard Template Library)标准模板库是C++最重要的组成部分,它提供了一组表示容器.迭代器.函数对象和算法的模板.其中容器是存储类型相同的数据的结构(如vector,list, deque, set, map等),算法完成特定任务,迭代器用来遍历容器对象,扮演容器和算法之间的胶合剂. 模板类vector 在计算中,矢量(vector)对应数组,它的数据安排以及操作方式,与array非常类似.在C++中,使用vector模板类时,需要头文件包含#include<v

STL ——vector 学习

STL简介 C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), lists(链表), 和 stacks(栈)等.  C++ STL 提供给程序员以下三类数据结构的实现: 标准容器类   顺序性容器  vector 从后面快速的插入与删除,直接访问任何元素  deque 从前面或后面快速的插入与删除,直接访问任何元素 list 双链表,从任何地方快速插入与删除   关联容器  

STL Vector容器

STL Vector容器 Vector容器简介 vector是将元素置于一个动态数组中加以管理的容器.        vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲).         vector尾部添加或移除元素非常快速.但是在中部或头部插入元素或移除元素比较费时        头文件:#include<vector> vector对象的默认构造 vector采用模板类实现, vector对象的默认构造形式: vector<T>

STL vector中的rbegin方法(5)

public member function <vector> std::vector::rbegin C++98 C++11 reverse_iterator rbegin() noexcept; const_reverse_iterator rbegin() const noexcept; Return reverse iterator to reverse beginning 返回一个反向的首元素. 例子: #include <iostream> #include <v

STL vector用法介绍

介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了.   Vector总览 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象

STL vector的介绍(1)

尝试下翻译STL里面的一些容易和算法.四级过了,六级刚考.顺便练练自己的英语水平,翻译的不好的地方请大神多多指教哈,方便我改正. 原来均来自:http://www.cplusplus.com/ template < class T, class Alloc = allocator<T> > class vector; // generic template Vector Vectors are sequence containers representing arrays that

C++ stl vector介绍

转自: STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了.   Vector总览 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是