列表中最常用的函数:
end()列表的末尾
begin()列表的开头
push_back();//从列表后面在列表中加入一个元素
push_front();//从列表前面加入一个元素
pop_back();//从列表后面pop出一个元素
pop_front();//从列表前面pop出一个元素
clear();//清空列表
remove(data);//删除列表中与data相同的数据
unique();//删除列表当中的重复数据使之具有集合的性质
size();//输出列表中元素的个数
sort()将列表中的元素排序是升序
reverse()将列表中的元素排是降序
max_size();//返回列表能容纳的最大长度
insert(Position,Counts,data);//Position是迭代器的位置,Counts是插入元素的个数,data是需要插入的元素,即重复Counts次
列表中的元素输出需要用到迭代器(iterator)
list<type(数据类型)>::iterator ITERATOR;
如创建一个int 类型的迭代器,list::iterator Int_Iterator;
下面举一些实际的实例帮助读者理解:
#include <iostream>
#include<list>
using namespace std;
int main() {
list<int>::iterator ITERATOR;//创建一个迭代器
list<int> LIST;//创建一个列表
for(int i=9;i>=2;i--){
LIST.push_back(i);//将2-9加入列表中 [ 9,8,7,6,5,4,3,2]
}
LIST.push_back(10);//从列表后面在列表中加入一个元素
LIST.push_front(100);//从列表前面加入一个元素
LIST.pop_back();//从列表后面pop出一个元素
LIST.pop_front();//从列表前面pop出一个元素
cout<<LIST.size()/*输出列表中元素的个数*/<<endl;
LIST.sort();
for(ITERATOR=LIST.begin();ITERATOR!=LIST.end();ITERATOR++){
cout<<*ITERATOR<<' ';//输出列表的元素
}//注意迭代器只能使用自增自减运算符
cout<<endl;
LIST.reverse();
for(ITERATOR=LIST.begin();ITERATOR!=LIST.end();ITERATOR++){
cout<<*ITERATOR<<' ';//输出列表的元素
}
return 0;
}
/*输出结果
8
2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2
*/
ITERATOR+5;
cout<<*ITERATOR<<" ";
/*
ote: 'std::__cxx11::list<int>::iterator' {aka 'std::_List_iterator<int>'} is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
ITERATOR+5;
^
会出现上述错误
*/
#include <iostream>
#include<list>
using namespace std;
int main() {
list<int>::iterator ITERATOR;//创建一个迭代器
list<int> LIST;//创建一个列表
for(int i=9;i>=2;i--){
LIST.push_back(i);//将2-9加入列表中 [ 9,8,7,6,5,4,3,2]
}
LIST.push_back(10);//从列表后面在列表中加入一个元素
LIST.push_front(100);//从列表前面加入一个元素
LIST.pop_back();//从列表后面pop出一个元素
LIST.pop_front();//从列表前面pop出一个元素
ITERATOR=LIST.begin();
cout<<*ITERATOR<<" ";
ITERATOR++;
cout<<*ITERATOR<<" ";
ITERATOR--;
cout<<*ITERATOR;
return 0;
}
/*输出结果
9 8 9
*/
#include <iostream>
#include<list>
using namespace std;
int main() {
list<int>::iterator ITERATOR;//创建一个迭代器
list<int> LIST;//创建一个列表
cout<<LIST.max_size();
return 0;
}
/*结果输出
768614336404564650
*/
#include <iostream>
#include<list>
using namespace std;
int main() {
list<int>::iterator ITERATOR;//创建一个迭代器
list<int> LIST;//创建一个列表
LIST.push_back(10);//从列表后面在列表中加入一个元素
LIST.push_front(100);//从列表前面加入一个元素
ITERATOR=LIST.begin();//迭代器的位置在列表的首部
ITERATOR++;//迭代器往前移动一个位置
LIST.insert(ITERATOR,2,50);//在第二个位置插入2个相同元素50
for(ITERATOR=LIST.begin();ITERATOR!=LIST.end();ITERATOR++){
cout<<*ITERATOR<<' ';//输出列表的元素
/*结果输出
100 50 50 10
*/
END…