c5 [C] Quick Sort #include #include #define MAX_NUM 100struct data { int val;};struct data input[MAX_NUM];struct data* ptrs[MAX_NUM];int num = 10;void quickSort_ascending(struct data* arr[], int first, int last){ int pivot, i, j; struct data* temp; if (first val val && i val > arr[pivot]->val) j--; if (i val >= arr[pivot]->val && i val val) j--; if (i val); } printf("\n");}int main(void){ for (int i.. 2025. 11. 15. [C] Heap의 특정 index 값 수정 Heap(Priority Queue)에서 특정 index의 값을 수정하는 방법에 대한 글이다. 아래의 내용을 이해하기 위해서는 "배열을 이용한 Heap 구현"에 대해서 알고 있어야 한다. 아래의 링크에는 Heap에 대한 자세한 설명이 있다. [자료구조] 힙(heap)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io 흔히 알고있는 배열을 이용하여 Heap을 구현한 방법은 아래 코드와 같다. #define MAX_SIZE 100 int heap[MAX_SIZE]; int heap_size = 0; void HeapInit(void) { heap_size = 0; } void GoUp(int index) { int.. 2024. 2. 7. [C] AVL Tree AVL Tree Binary Tree의 한 종류 Left-Subtree와 Right-Subtree의 균형을 유지 임의의 node의 subtree height 차이는 2이하 BF(Balance Factor) 통해서 Tree 균형 유지 BF = "Left_SubTree_Height" - "Right_SubTree_Height" BF = -1 ~ +1 사이의 값을 유지 Left/Right Rotation과 recursive로 구현 Rotate Operation Balance가 무너진 4가지의 경우 및 수정 방법 (LL, RR, LR, RL) Insert 이진 탐색을 통해서 신규 node를 위치시키고, 4가지 규칙 중 하나를 적용하여 Tree 수정 Delete 지우려는 node의 child 갯수에 따라서 처리 .. 2024. 2. 5. [vim][c] syntax highlight C언어의 function call 및 type define의 syntax highlight 기능전을 추가할 수 있다. 설치 방법 ~/.vim/syntax/c.vim 파일에 아래 내용을 작성 " Vim syntax file " Language:C " Maintainer:Bram Moolenaar " Last Change:2022 Oct 05 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim let s:ft = matchstr(&ft, '^\%([^.]\)\+') " check if this was included from c.. 2024. 2. 3. [vim] C언어 #ifdef 컴파일되지 않는 Code Block을 비활성화하는 방법을 소개한다. 사용 가능한 명령어 :Define xxx #ifdef xxx 영역을 활성화 :Undefine xxx #idef xxx 영역을 비활성화 현재경로의 .defined 파일에 아래와 같이 미리 추가하는 것도 가능하다 undefined=xxx defined=yyy defined=zzz 나는 ~/.vimrc 파일에 단축키를 추가해서 사용중이다. 활성화 : " \ + e + d " 비활성화 : " \ + u + d " nmap ed :Define =expand("") nmap ud :Undefine =expand("") 설치 방법 아래의 vim script를 ~/.vim/after/syntax/c.vim 위치에 복사 붙여 넣기 한다. (만약 해당 파.. 2024. 2. 3. 이전 1 다음