免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2552 | 回复: 8
打印 上一主题 下一主题

[C++] 有谁用过标准C++中的list,请详细解释一下。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-15 09:16 |只看该作者 |倒序浏览
解释一下。

论坛徽章:
0
2 [报告]
发表于 2003-02-15 14:46 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

难道没人用过。还是不屑于解释这个。

论坛徽章:
0
3 [报告]
发表于 2003-02-15 16:59 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

list就是链表

提供顺序访问但是不提供随机访问方法(与vector比较)
所以如果要使用随机访问的话
不应该使用list

list的内存只有使用时才分配
这些与vector等不同
vector是一次分配较多内存
然后再使用

因为vector分配的内存是连续的
所以vector的容易不能很大如》2M以上

但是list是分散分配的
所以可以容纳很大的容量



如果想
很具体的理解STL的话
还是看看《STL标准程序库》

论坛徽章:
0
4 [报告]
发表于 2003-02-15 17:29 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

另外
对其它的容器
在改变大小时
要分配内存
然后把旧内容cp到新地址
如果旧内容比较大的话
性能会很低
list少了这一过程
如果保存的是大数据时可以使用ist

论坛徽章:
0
5 [报告]
发表于 2003-02-15 19:15 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

老大 list 我当然知道是什么意思,而且我可以写一套自己的系统。
我想知道标准库中的class list 的使用方法。看手册他给了我一大
堆乱七八糟的东西。我想知道的是谁能简单明了的给我将下接口,
或给我写个简单的使用例子。如怎么初始化,怎么加,怎么减,
怎么浏览等等。 我想既然标准库中有了,那么还是使用它的比较好。
以后就简单明了了。

顺便也描述下vector。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2003-02-16 14:01 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

Example
list<int>; L;
L.push_back(0);
L.push_front(1);
L.insert(++L.begin(), 2);
copy(L.begin(), L.end(), ostream_iterator<int>;(cout, " ");
// The values that are printed are 1 2 0

这个主页有对stl的guide,你看看
http://www.fifi.org/doc/stl-manual/html/stl_introduction.html

论坛徽章:
0
7 [报告]
发表于 2003-02-16 14:45 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

首先要使用一种容器
一般要考虑性能

list
vector
deque
区别主要在于对数据添加和删除上以及对数据访问上

list在任意位置添加和删除都有常数时间
但是不支持随机访问
vector只对在最后添加删除有最佳性能
但是支持随机访问,访问速度是常数

deque
对在开始与最后添加删除都有最佳性能
也支持随机访问
但访问性能比vector低一点

论坛徽章:
0
8 [报告]
发表于 2003-02-16 14:51 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

使用

添加
以上容器都提供
push_back接口
就是向容器中追加一个变量

bector a;  //a内没有内容
for int i=0 i<10 ;i++
a.push_back(i);
//完成后a内容为 1 2 3 ...9

insert 接口
向某一位置上添加元素
以上例子push_back = insert (i,a.end);

删除
erase
使用a.erase(a.begin());

访问
对vector和deque可以使用a访问任意元素

论坛徽章:
0
9 [报告]
发表于 2003-02-16 16:01 |只看该作者

有谁用过标准C++中的list,请详细解释一下。

VECTOR
常用接口
size  容器内元素数目
insert 添加元素
erase 删除元素
      存取元素

list的
如果想存取元素的话要使用die代器操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP