하루 2시간
C언어 - 힙 정렬 구현 코드
#include #define num 8 int node[] = {2,1,33,21,6,42,50,5}; void heapify(int n, int start, int *node) { int l,r,tmp; l = start*2+1; r = start*2+2; if(r>n) { return; } if(node[l] > node[start] || node[r] > node[start]) { if(node[l] > node[r]) { tmp = node[start]; node[start]=node[l]; node[l]=tmp; return heapify(n,l,node); } else { tmp = node[start]; node[start]=node[r]; node[r]=tmp; return heapify..
2021. 5. 21.
c언어 - 쉘 정렬 (Shell's Sort)
쉘정렬은 삽입 정렬의 개선판으로 생각하고 접근하면 편하다. 그러므로 사전지식으로 삽입정렬을 이해하고 있어야한다. 간단하게 삽입 정렬은 한번에 하나의 값만 바꿔가며 정렬하는 알고리즘이다. 만약 8,2,4,5,1,9 라는 배열이 있다고 가정하고 삽입 정렬을 하면 단1회 만으로 1,2,4,5,8,9 로 정렬이 된다. 이런 장점을 키운 정렬이 쉘 정렬이다. *참고 - 삽입 정렬 쉘 정렬은 갭의 크기가 줄어들면서 정렬되는 알고리즘이다. 예를들어 n개의 값을 가지고 있는 배열이 있다고 가정하면, 처음 갭은 n/2인 값으로 그 후의 갭은 전의 갭/2 인 값으로 정렬해 나간다. *갭은 짝수보다 홀수가 좋다, 갭이 짝수일때 + 1을 해서 홀수를 만들어주자 *c언어에서 정수인 변수의 소숫점은 무시된다. ex) 1.9 =>..
2020. 12. 18.
CodeUp 1098[기초-2차원배열] 설탕과자 뽑기 -C/C++
#include int main(){ int i,j,l,d,w,h,x,y,n; scanf("%d %d\n",&w,&h); int a[w][h] = {}; scanf("%d\n",&n); for(int c=0;c
2020. 10. 28.