定义:
STL是Standard Template Library的简称。从根本上说,STL是一些"容器"的集合,这些"容器"有list,vector,set,map等,STL也是算法和其他一些组件的集合。
STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分。
STL结构图:
STL 应用
one.头文件:
include作用:在include的地方,把头文件里的内容原封不动的复制到引用该头文件的地方。
头文件引用:头文件引用有两种形式:#include < stdio.h> 和 include "main.h"。
用< >引用的一般是编译器提供的头文件,编译时会在指定的目录中去查找头文件。用" "引用的一般是自己写的头文件,编译时,编译器会在项目所在的文件夹中进行查找。
总结:系统提供的头文件用< >引用, 自己写的用” "引用。
格式:
#define XXX
#ifndef
XXX
#endif
常用头文件:
#include <bits/stdc++.h> //万能头
#include <iostream>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <queue>
#include <vector>
#include <ctime>
详细应有可看:C语言头文件_init33的博客-CSDN博客_c语言头文件
two.排序:
快排(sort): sort是STL中自带的排序函数 复杂度 O(n log n)
格式:sort(要排序元素的起始地址,要排序元素的结束地址,比较函数);
代码:(从小到大)
#include<bits/stdc++.h>
using namespace std;
int n,a[100010];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<