별빛의 낙하지 :: STL 요소 만들어보기(1)

STL 요소 만들어보기(1)

C++ 2012. 11. 16. 04:41 Posted by byulbit

STL의 요소를 만들어보기

만드는 과정은 시간 날때마다 업데이트...

namespace STD {

	// Single Linked List
	template<typename T>
	class Node
	{
	public:
		Node(T element) {
			_data = element;
			next = NULL;
		}

		void push_back(Node<T>* right) {
			right->next = this->next;
			this->next = right;
		}

		T operator*() {
			return _data;
		}

		T* operator++() {
			this = this->next;
		}

		T _data;
		Node<T>* next;
	};

	// Double Linked List
	template<typename T>
	class DNode
	{
	public:
		DNode(T element) {
			_data = element;
			next = NULL;
			prev = NULL;
		}

		void push_back(DNode<T>* right) {
			right->next = this->next;
			this->next = right;
			right->prev = this;
		}

		T operator*() {
			return _data;
		}

		T* operator++() {
			this = this->next;
		}

		T _data;
		DNode<T>* next;
		DNode<T>* prev;
	};
}


'C++' 카테고리의 다른 글

STL 요소 만들어보기(3)  (0) 2012.11.16
STL 요소 만들어보기(2)  (0) 2012.11.16
[C++] template을 사용하여 연결리스트 구현  (0) 2012.11.16
[C++0x] Move Operator  (0) 2012.11.16
[C++0x] Move Constructor  (0) 2012.11.15