vector
1.insert()函数 三种用法:
1) iterator insert(iterator loc, const TYPE &val);
在指定位置loc 前插入值为val 的元素,返回指向这个元素的迭代器;
2) void insert(iterator loc, size_type num, const TYPE &val);
在指定位置loc 前插入num 个指为val 的元素;
3) void insert(iterator loc, input_iteratorstart,input_iterator end);
在指定位置loc 前插入区间[start, end) 的所有元素。
2.push_back , 添加一个元素到vector 末尾。
void push_back(const TYPE &val);
pop_back ,删除当前vector 的最后一个元素。
void pop_back();
3.at() , 负责返回指定位置的元素
4.erase() 用于删除元素
1. iterator erase(iterator loc);
删除指定位置loc 的位置
2. iterator erase(iterator start, iterator end);
删除区间[start, end) 的所有元素,返回值是只想删除的最后一个元素的下一位位置的迭代器。
4.
1)vector 的构造函数
vector(); //无参,构造一个空的vector
vector(size_type num, TYPE &val);//两个参数,一个由num表示个数、val表示值的vector
vector(const vector &from);//一个参数,构造与from相同的vector
vector(input_iterator start, input_itterator end);//开始位置和终止位置
2)访问vector信息
max_size()//返回vector可以最多容纳元素的数量
size()//返回vector当前元素的数量
capacity()//返回vector索恩能够容纳的元素数量(不重新分配内存)
empty()//判断vector是否为空,为空返回TRUE,否则返回FALSE
3)存取vector信息
构造函数、push_back()、insert()、数组运算符、赋值运算符、pop_back()、erase()、begin()、
end()、rbegin、rend()、size、maxsize
#include<bits/stdc++.h>
using namespace std;
int main(){//insert()插入元素
unsigned i;
vector<int> number;
number.insert(number.begin(), 99);
number.insert(number.begin(), 98);
number.insert(number.end(), 97);
cout<<"before delete:"<<endl;
for(i = 0; i < number.size(); i++){
cout<<number[i]<<endl;
}
number.erase(number.begin());
number.erase(number.begin());
cout<<"after delete:"<<endl;
for(i = 0; i < number.size(); i++){
cout<<number[i]<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main (){//erase()删除元素
unsigned int i;
vector<int> number;
number.insert(number.begin(), 99);
number.insert(number.begin(), 98);
number.insert(number.begin(), 97);
number.insert(number.end(), 92);
number.insert(number.end(), 90);
for(i = 0; i < number.size(); i++){
cout<< number[i] <<endl;
}
sort(number.begin(), number.end());
for(i = 0; i < number.size(); i++){
cout<< number[i] <<endl;
}
return 0;
}
list
1.list的构造函数
list();
list(size_type num, const TYPE &val);
list(const vector &from);
list(input_iterator start, output_iterator end);
2.访问list 信息
max_size//返回list 可以最多容纳元素的数量;
size()//返回list 当前元素的数量;
empty()//判断vector 是否为空, 为空时返回TRUE, 否则返回FASE;
3.存取list 信息
insert()//插入元素, 参照vector
remove()//删除元素, 原型为void remove(const T& x);
#include<bits/stdc++.h>
using namespace std;
int main (){
list<char>Target;
list<char>List;
Target.push_back('1');
Target.push_back('1');
List.push_back('i');
List.push_back('h');
List.push_back('1');
List.push_back('1');
list<char>::iterator PositionofNulls = search(List.begin(), List.end(), Target.begin(), Target.end());
if(PositionofNulls != List.end()) cout<<"Found!"<<endl;
else cout<<"Not Found!"<<endl;
return 0;
}
STL通用算法
reverse()//逆转函数
//number.reverse();
for_each()//遍历从iterator的起始位置到末尾位置的所有元素。
//for_each(Food.begin, Food.end(), PrintLine);
//void PrintLine(string& StringLine){ cout<<StringLine<<endl; }
cout()//负责统计与定制定值相等的对象个数。
//cout(Score.begin90, Score.end(), 100);
cout_if()//根据前两个iterator参数指出的范围来处理容器对象
//cout_if(SalesRecords.begin(), SalesRecords.end(), IsAFlashDrive());
//const string FlashDriveCode("0003")//代表16G U盘
class IsAFlashDrive{
public:
Bool operateor() (string& SalesRecords){return SalesRecords.substr(0, 4) == FlashDriveCode;}
}
search()//一种定位算法,在一个序列中找到另一个序列第一次出现的位置
//search(ListOfCharacter().begin(), ListOfCharacter().end, TargetCharacter.begin(), TargetCharacter.end());