목록heap (1)
이야기박스
c) Heap 정렬을 해보자
안녕하세요 ㅎㅎ 이번은 힙정렬의 문제를 가지고 왔습니다. 우선 힙정렬을 한 후, k번째 작은 수를 찾는 알고리즘을 만들겠습니다. 배열은 랜덤함수를 이용하여 받았습니다. 코드입니다. #include #include #include #define swap(a,b) {int t; t = a; a=b; b=t;} //a와 b를 교환, 자주 사용하기 때문에 정의하고 시작 void downHeap(int *l, int i, int n) /// 마지막노드 이후는 계산 안하게 해야함. { int *left = &l[2 * i + 1], *right = &l[(2 * i + 2)], *down, tmp; // 왼쪽 자식과 오른쪽 자식의 방의 위치 확인. if (2 * i + 2 < n) { if (*left < *rig..
Programming Language/c, c++
2017. 3. 17. 19:55