C++标准模板库

STL:标准模板库(Standard Template Lib)主要介绍vector,list,map

vector向量:本质是对数组的封装

特点:读取是在常数时间内

push_pop把数据弹出

#include <iostream>
#include  <stdlib.h>
#include <vector>
#include <list>
#include <map>
using namespace std;

/**
 * 通过使用标准模板库,学习用法
 */



int main(void)
{
	vector<int> vec;
	int i;
	vec.push_back(1);
	vec.push_back(2);
	vec.push_back(3);//在尾部加入数据

	cout<<"向量的长度:"<<vec.size()<<endl;

	for(i=0;i<vec.size();i++)
	{
		cout<<vec[i]<<endl;
	}

	vec.pop_back();

	for(i=0;i<vec.size();i++)
	{
		cout<<vec[i]<<endl;
	}

	vec.pop_back();
	vec.pop_back();

	cout<<"向量的长度:"<<vec.size()<<endl;
	system("pause");
	return 0;
}

迭代器:iterator

通过迭代器可以访问标准模板库向量中每一个元素

迭代器的++操作是指向下一个元素

#include <iostream>
#include  <stdlib.h>
#include <vector>
#include <list>
#include <map>
using namespace std;

/**
 * 通过使用标准模板库,学习用法
 */

int main(void)
{
	vector<int> vec;
	vec.push_back(1);
	vec.push_back(2);
	vec.push_back(3);//在尾部加入数据

	cout<<"向量的长度"<<vec.size()<<endl;

	vector<int>::iterator itor=vec.begin();
	cout<<*itor<<endl<<endl;

	for(;itor!=vec.end();itor++)//vec.end()指向的是最后一个元素的下一个位置
	{
      cout<<*itor<<endl;
	}

	vec.pop_back();
	vec.pop_back();
	vec.pop_back();

	cout<<"向量的长度"<<vec.size()<<endl;
	system("pause");
	return 0;
}

 

 

链表:List 插入数据速度快

链表有数据域和指针域,数据域存储数据,指针域表示指向的位置\

#include <iostream>
#include  <stdlib.h>
#include <vector>
#include <list>
#include <map>
using namespace std;

/**
 * 通过使用标准模板库,学习用法
 */

int main(void)
{
	list<int> list1;
	list1.push_back(1);
	list1.push_back(2);
	list1.push_back(3);

	list<int>::iterator itor=list.begin();
	for(itor=list.begin();itor!=list.end();itor++)
	{
		cout<<*itor<<endl;
	}
	system("pause");
	return 0;
}

链表不能通过【】来访问,只能用iterator访问

 

map:映射

存储的数据成对出现 

#include <iostream>
#include  <stdlib.h>
#include <vector>
#include <list>
#include <map>
#include <string>
using namespace std;

/**
 * 通过使用标准模板库,学习用法
 */

int main(void)
{
	map<int,string> m;
	pair<int,string> p1(1,"hello");
    pair<int,string> p2(3,"world");

	m.insert(p1);
    m.insert(p2);

	cout<<m[1]<<endl;
	cout<<m[3]<<endl;

	map<int,string>::iterator itor=m.begin();
	for(itor=m.begin();itor!=m.end();itor++)
	{
		cout<<itor->first<<endl;
		cout<<itor->second<<endl;
		cout<<endl;
	}


	system("pause");
	return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 STL 简介 ..............................................................................................................................................2 2 顺序性容器...........................................................................................................................................2 2.1 C++ VECTOR(向量容器) ...........................................................................................................2 2.2 C++ LIST(双向链表) .................................................................................................................4 2.3 C++ DEQUE(双向队列) ..................................................................................................................6 2.4 三者比较........................................................................................................................................8 3 关联容器...............................................................................................................................................8 3.1 特点................................................................................................................................................8 3.2 C++ SETS & MULTISETS .................................................................................................................9 3.3 C++ MAPS & MULTIMAPS ............................................................................................................ 11 4 容器适配器.........................................................................................................................................12 4.1 特点..............................................................................................................................................12 4.2 C++ STACKS(堆栈) ..................................................................................................................13 4.3 C++ QUEUES(队列) ......................................................................................................................13 4.4 C++ PRIORITY QUEUES(优先队列)...............................................................................................13 5 迭代器.................................................................................................................................................14 5.1 解释..............................................................................................................................................14 5.2 功能特点......................................................................................................................................14 6 C++标准总结..................................................................................................................................15 6.1 容器..............................................................................................................................................15 6.2 算法..............................................................................................................................................15 6.3 函数对象......................................................................................................................................17 6.4 迭代器..........................................................................................................................................19 6.5 分配器..........................................................................................................................................19 6.6 数值..............................................................................................................................................19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值