读书人

弱问如何样用stl生成环形链表

发布时间: 2013-03-06 16:20:31 作者: rapoo

弱问怎么样用stl生成环形链表?
<list> 有没有禁止访问*next?没有的话应该怎么访问?
如果可以直接把尾节点指向头部生成环形链表,这个时候还可以直接调用clear()方法来销毁链表吗?
[解决办法]
stl 没有循环链表,只能自己写了。一个简单作弊式的写法是用 std::vector,访问的时候,对下标取模,模拟循环链表的结构。
[解决办法]

引用:
引用:引用:stl 没有循环链表,只能自己写了。一个简单作弊式的写法是用 std::vector,访问的时候,对下标取模,模拟循环链表的结构。

Are you sure what you are talking about???

See http://en.cppreference.com/w……


errr, that's right! sorry.
[解决办法]
引用:
引用:引用:stl 没有循环链表,只能自己写了。一个简单作弊式的写法是用 std::vector,访问的时候,对下标取模,模拟循环链表的结构。

Are you sure what you are talking about???

See http://en.cppreference.com/w……

你是正确的,STL确实没有循环LIST,不过可以利用现有的CONTAINERS制造出
ADAPTER,跟stl的stack的queue一样。


[解决办法]
取模很慢的。尤其是对变量取模的时候,if(++i == size) i = 0;这样写要快很多。
[解决办法]
引用:
引用:引用:引用:取模很慢的。尤其是对变量取模的时候,if(++i == size) i = 0;这样写要快很多。

确实是,用gcc试了下,记下来:
C:
C/C++ code?1234if (++tmp == 3){ tmp = 0;}
a……

不开优化测性能是没有意义的……

读书人网 >C++

热点推荐