Jump to content

Doubly-linked list/Traversal: Difference between revisions

m
(Added C++ solution)
Line 1,098:
 
<lang oforth>DList method: forEachNext
{
dup ifNull: [ drop @head ifNull: [ false ] else: [ @head @head true] return ]
next dup ifNull: [ drop false ] else: [ dup true ] ;
}
 
DList method: forEachPrev
{
dup ifNull: [ drop @tail ifNull: [ false ] else: [ @tail @tail true] return ]
prev dup ifNull: [ drop false ] else: [ dup true ] ;
}
 
: test
{
| dl n |
DList new ->dl
Line 1,121 ⟶ 1,116:
 
"\nTraversal (end to beginning) : " println
dl revEach: n [ n . ] ;</lang>
 
}</lang>
 
{{out}}
1,015

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.