STL(标准模板库)的简单使用

STL(标准模板库)的简单使用

一. STL简介
      STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来

二. 算法
      STL提供了大约100个实现算法的模版函数,比如算法for_each将为指定序列中的每一个元素调用指定的函数,stable_sort以你所指定的规则对序列进行稳定性排序等等。这样一来,只要我们熟悉了STL之后,许多代码可以被大大的化简,只需要通过调用一两个算法模板,就可以完成所需要的功能并大大地提升效率。

      算法部分主要由头文件< algorithm>,< numeric>和< functional>组成。
      (1). < algorithm>是所有STL头文件中最大的一个(尽管它很好理解),它是由一大堆模版函数组成的,可以认为每个函数在很大程度上都是独立的,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、移除、反转、排序、合并等等。
      (2). < numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作。
      (3). < functional>中则定义了一些模板类,用以声明函数对象。

下面为vector的简单使用

#include 
#include 
#include 

using namespace std;
void del_arr_first(vector &arr)
{
	arr.erase(arr.begin());  //删除vector中的第一个数据
}
void print_arr(vector &arr)
{
	for (vector::iterator vec = arr.begin();vec != arr.end();vec++)
	{
		cout << *vec << " ";
	}
	cout << endl;
}
void print_sort(vector &arr)	//引用传递动态数组
{
	sort(arr.begin(), arr.end());	//对动态数组进行从小到大的排序
}

int main()
{
	vector num;

	//将数据压入数组num中
	num.push_back(213);
	num.push_back(324);
	num.push_back(244);
	num.push_back(355);
	num.push_back(466);

	num.insert(num.begin(), 200);	//在num的开头插入数据200
	num.insert(num.end(), 210);		//在num的末尾插入数据210

	print_arr(num);				//输出数组
	print_sort(num);			//排序数组
	print_arr(num);

	cout << endl;
	del_arr_first(num);			//删除数组首元素
	print_arr(num);

	system("pause");
	return 0;
}

运行结果:
STL(标准模板库)的简单使用_第1张图片
文章版权说明

一:教程为个人编写,对个人真实有效,但不保证对所有人有效,出现任何问题或是经济损失将与本人无关
二:更多关于本人的教程请至:152.136.70.33

你可能感兴趣的:(学习ing)