Doubly-linked list/Traversal: Difference between revisions
m
→{{header|Oforth}}
(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>
{{out}}
|