알고리즘 3

[C/C++]최대 히프, 최소 히프

알고리즘을 배우면서 히프라는 것을 많이 보고 쓰게된다. 정렬이라던지 허프만이라던지 기타등등...그래서 여기 최대히프와 최소히프를 올린다. 나도 참고하고 쓰실 분들도 참고하기 바란다. 1. HeapDefine.h 최대 사이즈가 100으로 잡혀있다. 사이즈를 늘리고 싶으면 Define 헤더에서 늘려서 쓰도록하자. #define MAX_ELEMENT 100 //히프 만들 때, 사용하는 히프노드 typedef struct { int heap[MAX_ELEMENT]; int heap_size; } HeapType; 2. MaximamHeap.h #include "HeapDefine.h" //초기화 함수 void initMaxHeap(HeapType *h) { h->heap_size = 0; } //삽입 함수 vo..

Programming/C, C++ 2012.10.14

[C/C++]C를 이용한 이진탐색트리 라이브러리

과제로 이진탐색트리를 구현하였다. 이진탐색트리를 다음에 이용할 때는 이 라이브러리를 이용하여 구현한다면 다음부터 이진탐색트리의 구현이 매우 편리해질 것같다. 1. BSTError.h 이진탐색트리에서 발생하는 에러 중에 필자가 직접 확인한 에러들에 관한 에러코드들을 규정했다. //에러 코드 #define BST_OK 0x00000000 #define BST_MALLOC_FAIL 0xff000001 #define BST_KEY_ALREADY_EXIST 0xff000002 #define BST_KEY_NOT_EXIST 0xff000003 #define BST_NODE_IS_NULL 0xff000004 2. BST.h 이진탐색트리에 관한 소스이다. 이진탐색트리의 노드와 삽입, 삭제, 순회에 관한 코드들이 구현되..

Programming/C, C++ 2012.09.26

[C/C++]MySQL을 C로 연동하는 소스

MySQL을 C로 연동해 보았다. 예전에 진자게 해본 것이지만 이번 기회에 라이브러리 처럼 정리해서 계속 사용하기 위해서 다시 한 번 만들어 봤다. 간단한 함수 몇개를 만들고 각 사항에 대한 에러코드를 만들었다. 1. dbError.h 각 에러들이 기술되어있는 헤더파일이다. 이런 식으로 에러를 기술해 놓으면 어느 부분에서 에러가 났는지 찾기가 쉬워진다. #define MB_RES unsigned int #define MB_OK 0x00000000 #define DB_INIT_ERROR 0xff000000 #define DB_CONNECTION_ERROR 0xff000001 #define DB_QUERY_EXECUTION_ERROR 0xff000002 #define DB_FETCH_FAIL 0xff0000..

Programming/C, C++ 2012.08.05