List::traverse遍歷

聲明:

// 遍歷
   void traverse(void (*)(T&)); //遍歷,依次實施visit操作(函數指針,只讀或局部性修改)
   template <typename VST> //操作器
   void traverse(VST&); //遍歷,依次實施visit操作(函數對象,可全局性修改)

定義:

template <typename T> void List<T>::traverse(void (*visit)(T&)) //利用函數指針機制的遍歷
{  for (ListNodePosi(T) p = header->succ; p != trailer; p = p->succ) visit(p->data);  }

template <typename T> template <typename VST> //元素類型、操作器
void List<T>::traverse(VST& visit) //利用函數對象機制的遍歷
{  for (ListNodePosi(T) p = header->succ; p != trailer; p = p->succ) visit(p->data);  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章