【list】C++列表<list>常用函数 让排序不再困难 让数据处理更加简单方便

列表中最常用的函数:
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…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值