01STL初识

//声明:该博客为对STL的一个初步认识,是在我学习黑马的STL课程的过程中总结记录的,后续还会持续更新。学STL我目前来说是用来应付蓝桥杯的,因为听说C with STL效率更高,因为STL可以大大简化代码,然后我有一定的C++基础,当然没学完,为了节省时间,所以直接来学下STL。

STL分类

  • 容器
  • 算法
  • 迭代器

容器
分为序列式容器和关联式容器,前者就像是一组有顺序的元素,按原来固定顺序放入数组,后者则放入数组之后原来的顺序改变了
在这里插入图片描述
算法
通过有限的步骤,解决问题

迭代器
可理解为可遍历容器的指针,默认指向第一个元素的位置(实际上是一个类对象)

在这里插入图片描述
算法迭代器分离案例:

//每个容器有对应自己的迭代器,这个迭代器由容器提供,算法直接传入迭代器就可以到容器中
#include<iostream>
using namespace std;

int myCount(int* qStart, int* qEnd, int val)//算法
{
	int num=0;
	while (qStart != qEnd)
	{
		if (*qStart == val)
			num++;
		qStart++;
	}
	return num;
}

int main()
{
	int arr[] = { 0,1,9,8,7,2,0 };//容器
	int* qStart = arr;//迭代器,指向容器第一个元素
	int* qEnd = &arr[sizeof(arr) / sizeof(int)];//迭代器,指向容器最后一个元素的下一位

	myCount(qStart, qEnd, 0);
	cout << "num=" << num << endl;
}



也可以参考下这篇文章
转自csdn
转自csdn

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值