// List_Test.cpp : 定义控制台应用程序的入口点。
//线性表
#include "stdafx.h"
#include <stdlib.h>
#include <list>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"------------------"<<"List Test(STL)"<<"---------------"<<endl;
list<char*> Vlist;
Vlist.push_back("我");
Vlist.push_back("是");
Vlist.push_back("中");
Vlist.push_back("国");
Vlist.push_back("人");
list<char*>::iterator it;
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
cout<<"---------------------after push front-------------------"<<endl;
Vlist.push_front("say:");
Vlist.push_front("tiance");
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
cout<<"---------------after pop front------------"<<endl;
Vlist.pop_front();
Vlist.pop_front();
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
cout<<"--------------after pop back----------"<<endl;
Vlist.pop_back();
Vlist.pop_back();
Vlist.pop_back();
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
cout<<"------------------after reload data----------------"<<endl;
Vlist.clear();
Vlist.push_back("my");
Vlist.push_back("name");
Vlist.push_back("is");
Vlist.push_back("tiance");
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
cout<<"-------------after erase --------------"<<endl;
list<char*>::iterator new_it=Vlist.begin();
Vlist.erase(new_it);
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
cout<<"-------------after insert---------------"<<endl;
char *str=new char[20];
str="my";
Vlist.insert(Vlist.begin(),str);
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
char *strS[]={{"这"},{"是"},{"谁"}};
cout<<"--------------insert a another queue----------------"<<endl;
Vlist.insert(Vlist.begin(),strS,strS+3);
for (it=Vlist.begin();it!=Vlist.end();it++)
{
cout<<*it<<" ";
}
cout<<endl<<endl;
system("pause");
return 0;
}