Linked List
為什麼寫這個東西?自己無聊,想寫了一個模仿STL形式的Linked List,本身具有Iterator type,我另外寫了一個class,再用
這樣子我們就可以寫成template<class T> class LinkListIterator{ /* ... */ }; template<class T> class LinkList{ friend class LinkListIterator<T> public: typedef LinkListIterator<T> iterator; /* ... */ };
LinkList<int>::iterator iter=u.begin()
就某程度而言還蠻方便的。為什麼要寫iterator,用STL的看法來看,你需要一個smart pointer(被包裝過的pointer)去詢訪整個cointainer,所以我這邊就模仿了一個(可是不怎麼成功,你還是可以對u.end()做deference的動作XD),這樣子就可以詢訪自己做的Linked List了,相當方便。
code
題外話就是,雖然概念很清楚,但是在細節的處理上花了很多時間,概念跟實作還是有實際上的差異,而且我還沒做利用iterator的相關運算,不過我覺得做為一個範本,也夠哩。
---
說穿了還是偷懶XD
沒有留言:
張貼留言