#include
#include
#include
#include
#include
#include
using namespace std;
struct Node
{
int a;
char c;
//头增加ListCoutAdd()
Node(int d, int e)
{
a = d;
c = e;
}
//删除ListDeleteChange(),构成重载。
bool operator ==(const Node& f)const
{
if (f.a == this->a && f.c == this->c)
{
return true;
}
return false;
}
};
void fun(Node& d)
{
cout << d.a << " " << d.c << endl;
}
void ListDeleteChange()
{
list
db.push_front(Node(14, 'b'));
db.push_front(Node(12, 'b'));
db.push_front(Node(13, 'b'));
db.push_front(Node(14, 'b'));
db.push_front(Node(14, 'b'));
db.push_back(Node(16, 'b'));
//删除
尾删除
//db.pop_back();
头删除
//db.pop_front();
指定位置删除
//list
//ite++;
//ite++;
db.erase(ite);//删除下标为2的元素。
//db.erase(ite,db.end());//删除下标为2到尾末的所有元素。
全部删除
//db.clear();
//指定位置删除
//db.remove(Node(14, 'b'));//指定值进行删除,需要进行重载。
//删除db中重复的值
//db.unique();//需要相同元素相邻
//修改
//db.assign(3, Node(2,'c'));//赋值运算。覆盖。
//赋值
//list
//db1 = db;//给空的对象赋值。
//for_each(db1.begin(), db1.end(), fun);
//迭代器赋值
list
ite++;
ite++;
list
db2.assign(ite, db.end());//给db2赋值的db1元素的下标范围是从2(包括)到最后一个元素(包括)之间的所有元素。
for_each(db2.begin(), db2.end(), fun);
//for_each(db.begin(), db.end(), fun);
}
int main()
{
//ListCoutAdd();
ListDeleteChange();
system("pause");
return 0;
}