LIST的插入和删除

#include<iostream>

#include<list>

using namespace std;

void main()

{

         list<int>a;

         for(int i=0;i<10;i++)

                   a.push_back(i);

         list<int>::iterator p;

         for(p=a.begin();p!=a.end();p++)

         {

                   cout<<*p<<"  ";

         }

         cout<<endl;

         for(p=a.begin();p!=a.end();)

         {

                  

                   if((*p)%2==0)

                      p=a.erase(p);   //当进行删除时p指针也会被删除,函数返回下一结点地址

                   else

                            p++;

         }

         cout<<endl;

        

         for(p=a.begin();p!=a.end();p++)

         {

                   cout<<*p<<" ";

         }

         cout<<endl;

         int num=2;

         for(p=a.begin();p!=a.end();p++)//list的插入

         {

                   if(*p%2==1)

                   {

                            a.insert(p,num);

                            num+=2;

                   }

         }

         for(p=a.begin();p!=a.end();p++)

         {

                   cout<<*p<<" ";

         }

         cout<<endl;

 

}

posted @ 2012-11-23 22:14  ♂咱說 ろ算  阅读(366)  评论(0编辑  收藏  举报