mode
有模式的兩個正交組可以設置:
1.迭代的方向
SplDoublyLinkedList::IT_MODE_LIFO(堆疊型)
SplDoublyLinkedList::IT_MODE_FIFO(隊列分格)
2.迭代器的行爲
SplDoublyLinkedList::IT_MODE_DELETE(迭代刪除)
SplDoublyLinkedList::IT_MODE_KEEP(迭代遍歷)
默認的模式爲:SplDoublyLinkedList::IT_MODE_FIFO|SplDoublyLinkedList::IT_MODE_KEEP;
在迭代的方向中,堆疊性的方向是從鏈表的top到bottom(後進先出),而隊列風格則相反(先進先出)。
在迭代的行爲中,迭代刪除會將鏈表中的元素迭代刪除,而迭代遍歷僅會將鏈表中的元素遍歷一遍。
行爲和方向兩兩組合形成了四種迭代模式
1.SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE 堆疊型迭代刪除
2.SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_DELETE 隊列型迭代刪除
3.SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP 堆疊性迭代遍歷
4.SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP 隊列型迭代遍歷