분류 전체보기590 이중 링크드 리스트 만들기 (Making double linked list) 링크드 리스트가 단일인 경우에는 포인터로 처리하는 것이 좋겠지만, 이중인 경우에는 그게 만만치 않아요. 포인터로 관리하려면, 포인터가 NULL인 경우 처리가 필요합니다. 새로운 노드를 추가하는 경우에는 포인터가 NULL인지 검사해야 하고, 기존 노드를 삭제하는 경우에는 노드의 갯수가 1개인지를 검사해야 합니다. 그래서 사용하는 방법은 바로 이것입니다. 클래스만 설계해보면, class CNode { public: CNode *m_pPrev; CNode *m_pNext; }; class CIntNode : public CNode { public: int data; }; class CDLinkedList { public: CDLinkedList() { m_kRoot.m_pPrev = &m_kRoot; m_kR.. 2011. 9. 16. 미로찾기 프로그램 미로의 크기는 10x10 으로, [0,0] 이 입구, [ 9,9]를 출구로 했습니다. 미로로 사용되는 데이터파일에는 다음과 같은 형식으로 미로가 지정되어 있습니다. 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 ... 1 1 1 1 1 0 1 1 1 0 즉 갈 수 있는 셀(cell)은 0으로 갈 수 없는 셀은 1로 설정되어 있죠. 사용한 알고리즘은 제일 간단한 방법을 사용했습니다. 더 좋은 방법이 당연히 있지만.. 2011. 9. 16. 이전 1 ··· 96 97 98 99 다음 728x90