C++ list 链表
#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{for (list<int>::const_iterator it = L.begin(); it !=L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历元素printList(L1);//区间方式构造list<int>L2(L1.begin(), L1.end());printList(L2);//拷贝构造list<int>L3(L2);printList(L3);//n个elemlist<int>L4(10, 1000);printList(L4);
}int main()
{test01();system("pause");return 0;
}
#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{for (list<int>::const_iterator it = L.begin(); it !=L.end(); it++){cout << *it << " ";}cout << endl;
}void test02()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);printList(L1);list<int>L2;L2 = L1; // operater =printList(L2);list<int>L3;L3.assign(L2.begin(),L2.end());printList(L3);list<int>L4;L4.assign(10,1000);printList(L4);}void test03()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);list<int>L2;L2.assign(10, 1000);cout << "交换前:" << endl;printList(L1);printList(L2);L1.swap(L2);cout << "交换后:"<<endl;printList(L1);printList(L2);}int main()
{//test01();test02();test03();system("pause");return 0;
}
#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{for (list<int>::const_iterator it = L.begin(); it !=L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);//遍历元素printList(L1);if (L1.empty()) {cout << "L1为空" << endl;}else {cout << "L1不为空" << endl;cout << "L1的元素个数为:"<<L1.size() << endl;}//重新指定大小L1.resize(10,1000);printList(L1);L1.resize(2);printList(L1);}
#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{if (L.empty()) {cout<<"为空"<<endl;return;}for (list<int>::const_iterator it = L.begin(); it != L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);//头插L1.push_front(100);L1.push_front(200);L1.push_front(300);//300 200 100 10 20 30//遍历元素printList(L1);//尾删L1.pop_back();//300 200 100 10 20printList(L1);//头删L1.pop_front();//200 100 10 20printList(L1);//insert插入list<int>::iterator it = L1.begin();L1.insert(++it, 1000);//200 1000 100 10 20printList(L1);//删除it = L1.begin();L1.erase(it);//1000 100 10 20printList(L1);//移除L1.push_back(10000);L1.push_back(10000);L1.push_back(10000);L1.push_back(10000);printList(L1);L1.remove(10000);printList(L1);L1.clear();printList(L1);}int main()
{test01();return 0;
}
#include<iostream>
using namespace std;
#include<list>void printList(const list<int>& L)
{if (L.empty()) {cout<<"为空"<<endl;return;}for (list<int>::const_iterator it = L.begin(); it != L.end(); it++){cout << *it << " ";}cout << endl;
}void test01()
{//创建list容器list<int>L1;L1.push_back(10);L1.push_back(20);L1.push_back(30);L1.push_back(40);cout << "第一个元素为:" << L1.front() << endl;cout << "最后一个元素为:" << L1.back() << endl;//验证 iterater ssslist<int>::iterator it = L1.begin();it++; //支持双向it--;//it=it+1 //不支持双向访问
}int main()
{test01();return 0;
}
#include<iostream>
using namespace std;
#include<list>
#include<algorithm>
void printList(const list<int>& L)
{if (L.empty()) {cout<<"为空"<<endl;return;}for (list<int>::const_iterator it = L.begin(); it != L.end(); it++){cout << *it << " ";}cout << endl;
}bool mycmp(int a,int b)
{return a>b;
}//list 容器反转和排序void test01()
{//创建list容器list<int>L1;L1.push_back(30);L1.push_back(50);L1.push_back(20);L1.push_back(10);L1.push_back(40);cout << "反转之前:" << endl;printList(L1);//反转L1.reverse();cout << "反转后" << endl;printList(L1);//所有不支持随机访问迭代器的容器,不可以用标准算法//不支持随机访问迭代器的容器,内部会提供对应一些算法//sort(L1.begin(), L1.end());L1.sort(); //默认排序规则 从小到大 升序cout << "排序后:" << endl;printList(L1);L1.sort(mycmp);cout << "排序后:" << endl;printList(L1);}int main()
{test01();return 0;
}