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>V2return 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;
}