C++之list
list的构造
#include <iostream>
#include<list>
using namespace std;
//打印函数
void printfList(const list<int>&L)
{
for(list<int>::const_iterator it = L.begin();it != L.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
//list容器的构造函数
void test()
{
//创建list容器
list<int>L1;//默认构成
//添加元素
L1.push_back(10);
L1.push_back(20);
L1.push_back(30);
L1.push_back(40);
//遍历打印输出
printfList(L1);
//区间构造
list<int>L2(L1.begin(),L1.end());
printfList(L2);
//n个元素构造
list<int>L3(4,100);
printfList(L3);
//拷贝构造
list<int>L4(L2);
printfList(L4);
}
int main()
{
test();
cout << "Hello World!" << endl;
return 0;
}
list赋值和交换
#include <iostream>
#include<list>
using namespace std;
//打印函数
void printfList(const list<int>&L)
{
for(list<int>::const_iterator it = L.begin();it != L.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
//list容器的赋值和交换
void test()
{
//创建list容器
list<int>L1;//默认构成
//添加元素
L1.push_back(10);
L1.push_back(20);
L1.push_back(30);
L1.push_back(40);
//遍历打印输出
printfList(L1);
//赋值
list<int>L2;
L2 = L1;//operator =
printfList(L2);
list<int>L3;
L3.assign(L2.begin(),L2.end());
printfList(L3);
list<int>L4;
L4.assign(4,100);
printfList(L4);
}
int main()
{
test();
cout << "Hello World!" << endl;
return 0;
}
#include <iostream>
#include<list>
using namespace std;
//打印函数
void printfList(const list<int>&L)
{
for(list<int>::const_iterator it = L.begin();it != L.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
//list容器的赋值和交换
void test()
{
cout<<"交换前"<<endl;
//创建list容器
list<int>L1;//默认构成
//添加元素
L1.push_back(10);
L1.push_back(20);
L1.push_back(30);
L1.push_back(40);
//遍历打印输出
printfList(L1);
list<int>L4;
L4.assign(4,100);
printfList(L4);
cout<<"交换后"<<endl;
L1.swap(L4);
printfList(L1);
printfList(L4);
}
int main()
{
test();
cout << "Hello World!" << endl;
return 0;
}
list的大小操作
#include <iostream>
#include<list>
using namespace std;
//打印函数
void printfList(const list<int>&L)
{
for(list<int>::const_iterator it = L.begin();it != L.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
//list容器
void test()
{
//创建list容器
list<int>L1;//默认构成
//添加元素
L1.push_back(10);
L1.push_back(20);
L1.push_back(30);
L1.push_back(40);
//遍历打印输出
printfList(L1);
//判断是否为空
if(L1.empty())
{
cout<<"L1 is empty"<<endl;
}
else
{
cout<<"L1 is not empty"<<endl;
cout<<"L1's size is "<<L1.size()<<endl;
}
//重新指定大小
L1.resize(10,100);
printfList(L1);
L1.resize(2);
printfList(L1);
}
int main()
{
test();
cout << "Hello World!" << endl;
return 0;
}
list插入和删除
#include <iostream>
#include<list>
using namespace std;
//打印函数
void printfList(const list<int>&L)
{
for(list<int>::const_iterator it = L.begin();it != L.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
//list容器
void test()
{
//创建list容器
list<int>L1;//默认构成
//尾插
L1.push_back(10);
L1.push_back(20);
L1.push_back(30);
L1.push_back(40);
//头插
L1.push_front(100);
L1.push_front(200);
L1.push_front(300);
L1.push_front(400);
//遍历打印输出
printfList(L1);
//尾删
L1.pop_back();
printfList(L1);
//头删
L1.pop_front();
printfList(L1);
//插入
list<int>::iterator it=L1.begin();
L1.insert(++it,1000);
printfList(L1);
//删除
it = L1.begin();
L1.erase(++it);
printfList(L1);
//移除
L1.push_back(10000);
L1.push_back(10000);
L1.push_back(10000);
L1.push_back(10000);
printfList(L1);
L1.remove(10000);
printfList(L1);
//清空
L1.clear();
printfList(L1);
}
int main()
{
test();
cout << "Hello World!" << endl;
return 0;
}
list数据存取
#include <iostream>
#include<list>
using namespace std;
//打印函数
void printfList(const list<int>&L)
{
for(list<int>::const_iterator it = L.begin();it != L.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
//list容器
void test()
{
//创建list容器
list<int>L1;//默认构成
//尾插
L1.push_back(10);
L1.push_back(20);
L1.push_back(30);
L1.push_back(40);
//遍历打印输出
printfList(L1);
cout<<"第一个元素为:"<<L1.front()<<endl;
cout<<"最后一个元素:"<<L1.back()<<endl;
}
int main()
{
test();
cout << "Hello World!" << endl;
return 0;
}
list反转和排序
#include <iostream>
#include<list>
using namespace std;
//打印函数
void printfList(const list<int>&L)
{
for(list<int>::const_iterator it = L.begin();it != L.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
bool MyCompare(int v1,int v2)
{
//降序就是让第一个数大于第二个数 V1>V2
return v1>v2;
}
//list容器
void test()
{
//创建list容器
list<int>L1;//默认构成
//尾插
L1.push_back(50);
L1.push_back(20);
L1.push_back(10);
L1.push_back(40);
cout<<"反转前:"<<endl;
//遍历打印输出
printfList(L1);
L1.reverse();
cout<<"反转后:"<<endl;
printfList(L1);
//排序
cout<<"排序前:"<<endl;
printfList(L1);
//所有不支持随机访问迭代器的容器,不可以用标准算法
//不支持随机访问迭代器的容器,内部会提供对应一些算法
//sort(L1. begin(), L1.end()) ;
L1.sort();//默认是升序
cout<<"排序后:"<<endl;
printfList(L1);
L1.sort(MyCompare);//降序
cout<<"排序后:"<<endl;
printfList(L1);
}
int main()
{
test();
cout << "Hello World!" << endl;
return 0;
}