想请教一下STL中的list, 
1.list是一个循环链表吗?如果是,我希望用的是一个非循环的,
那应该用什么呢?
2.我现在定义了 list 和迭代器 可以用迭代器访问list中的成员,
如可实现删除list种某一个成员? 比如第三个.

解决方案 »

  1.   

    1、不是。
    2、list::erase(list.begin()+2);
      

  2.   

    请问 Hendy_So() list.begin 和 2可以相加吗?我这里编译不过去。
      

  3.   

    MSDN上不是有详细的资料说明嘛,干嘛不查一下
      

  4.   

    1,不是循环列表
    2,可以find,然后erase
      

  5.   

    不好意思,我上面说错了,list中的元素为非连续存储,不能这样对它的iterator进行加减操作,要删除它的第几个元素,需要从第一个开始遍历。
      

  6.   

    谢谢  Hendy_So() ,删除的问题我已经解决了。得到size然后遍历就可以了。
    不过现在有个新问题,就是删除后我更改链表中下一个元素的内容,更改后立即查询是对的,
    但是,在其他的函数中读出的却是没有改变的,不知道错在哪里了。
      

  7.   

    begin()+2是不行的,
    可以用FIND或者FOR循环定位