구현소스 BinaryTree.h #ifndef BINARYTREE_H #define BINARYTREE_H #include #include // SBT = Simple Binary Tree // Binary Tree는 Maximum Degree(- Node 가 가지는 Child Node의 개수) 가 2인 Tree이다. // - Binary Tree의 종류 // 1. Full Binary Tree - 포화 이진 트리 // : Leaf Node(Height[- 최대 Depth값]에 존재하는 Node)를 제외한 모든 Node가 Child Node를 2개씩 가지고 있다. // : Leaf Node들이 모두 같은 Depth[- Root노드에서 해당 Node까지의 경로의 길이]에 존재한다. // 2. Complet..
구현 소스 LCRSTree.h #ifndef LCRSTREE_H #define LCRSTREE_H #include #include typedef char Element; // Left child Right Sibling Tree Struct 선언 typedef struct tagLCRSNode{ struct tagLCRSNode* LeftChild; struct tagLCRSNode* RightSibling; Element Data; } LCRSNode; LCRSNode* LCRS_CreateNode(Element NewData); void LCRS_DestroyNode(LCRSNode* Node); void LCRS_DestroyTree(LCRSNode* Root); // DestroyTree 함수는 ..
구현소스 LinkedListQueue.h #ifndef LINKEDLISTQUEUE_H #define LINKEDLISTQUEUE #include #include #include typedef struct tagNode{ char* Data; struct tagNode* NextNode; }Node; typedef struct tagLinkedQueue{ Node* Front; // 전단을 가리키는 포인터 Node* Rear; // 후단을 가리키는 포인터 int Count; // Node의 개수를 가짐 } LinkedQueue; void LQ_CreateQueue(LinkedQueue** Queue); // Queue 생성 void LQ_DestroyQueue(LinkedQueue* Queue); // ..
구현소스 CircularQueue.h #ifndef CIRCULARQUEUE_H #define CIRCULARQUEUE_H #include #include typedef int Element; // 데이터 구조체 typedef struct tagNode{ Element Data; }Node; typedef struct tagCircularQueue{ int Capacity; // 용량 (실제용량은 Capacity+1) int Front; // Front index int Rear; // Rear index Node* Nodes; // 데이터 구조체 배열 } CircularQueue; void CQ_CreateQueue( CircularQueue** Queue, int Capacity); // Queue ..
구현소스 LinkedListStack.h #ifndef LINKEDLISTSTACK_H #define LINKEDLISTSTACK_H #include #include #include // 데이터를 가지는 Node 구조체 typedef struct tagNode { char* Data; // ArrayStack과 다르게 데이터를 문자열로 지정했다. // Node 생성시 Node 구조체 타입의 메모리 생성뿐만 아니라 문자열의 메모리도 생성 및 파괴 해줘야 한다. struct tagNode* NextNode; // 다음 노드를 가리키는 NextNode } Node; typedef struct tagLinkedListStack { Node* List; // 최하위 노드를 가리키는 List Node* Top; /..
구현 소스 ArrayStack.h #ifndef ARRAYSTACK_H #define ARRAYSTACKT_H #include #include typedef int ElementType; // 데이터를 가지는 Node 구조체 선언 typedef struct tagNode{ ElementType Data; }Node; // 스택 구조체 선언 typedef struct tagArrayStack{ int Capacity; // 배열로 구현하기 때문에 전체 용량을 제한함 int Top; // 가장 최근에 들어온 데이터의 인덱스를 가지는 Top Node* Nodes; // 데이터 }ArrayStack; void AS_CreateStack(ArrayStack** Stack, int Capacity); // stac..
코드 CDDL.h #ifndef CDLL_H #define CDLL_H #include #include typedef int ElementType; typedef struct tagNode{ ElementType Data; struct tagNode *PrevNode; struct tagNode *NextNode; } Node; Node* CDLL_CreateNode(ElementType NewData); // 노드 생성 void CDLL_DestroyNode(Node* Node); // 노드 파괴 void CDLL_AppendNode(Node** Head, Node* NewNode); // 노드를 추가하는 함수 - 링크드 리스트 젤 끝(tail)에 추가 void CDLL_InsertAfter(Node*..
코드 DLL.h #ifndef DLL_H #define DLL_H #include #include typedef int ElementType; typedef struct tagNode{ ElementType Data; struct tagNode *PrevNode; struct tagNode *NextNode; } Node; Node* DLL_CreateNode(ElementType NewData); // 노드 생성 void DLL_DestroyNode(Node* Node); // 노드 파괴 void DLL_AppendNode(Node** Head, Node* NewNode); // 노드를 추가하는 함수 - 링크드 리스트 젤 끝(tail)에 추가 void DLL_InsertAfter(Node* Curren..
- Total
- Today
- Yesterday
- MFC 예제
- PackMan
- Hash table
- 열혈강의C
- 2D Game Project
- Queue
- Ice Climber
- Tales of the Float Land
- quick sort
- WinAPI
- Stack
- IntersectRect
- 그림 맞추기 게임
- graph
- Kinect Game Project
- Kinect Programming
- WM_CONTEXTMENU
- 윈도우즈 API 정복
- PtInRect
- Linked list
- Pixel 색상값으로 구현한 간단한 충돌
- Digits Folding
- WM_TIMER
- Farseer Physics
- Win32 API
- SetTimer
- Tree
- Game project
- 뇌를 자극하는 알고리즘
- Data Structures in C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |