์ ์
๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ : C++ 05 (์์ฝ๋ฉ: Heapify, ์ต๋ํ, ์ด์งํ์)
์๋
ํ์ธ์, ์ซ๋๋ฏธ์
๋๋ค. ์์ฝ๋ฉ์ ์ฒ์์ด๋ผ์์ ... ํ๋ฆฐ ๋ด์ฉ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค (_ _ ) ๐ฃ๏ธ Heapify ์ฝ๋๋ฅผ ์์ฑํด๋ณด์ธ์ #include using namespace std; void swap(int& a, int& b) { int temp = a; a = b; b = temp; } int num = 9; int heap[9] = {7, 6, 5, 8, 3, 5, 9, 1, 6}; int main() { for (int i = 1; i < num; i++) { int c = i; do { int root = (c - 1) / 2; if (heap[root] < heap[c]) { swap(heap[root], heap[c]); } c = root; } while (c..
์ ์
๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ : C# 01
๐ฃ๏ธ C#์ ์ฃผ์ ํน์ง์ ์ค๋ช
ํด์ฃผ์ธ์. C, C++๊ณผ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์? C#์ ๊ฐ์ฒด์งํฅ, ๊ฐ๋ ฅํ ํ์
์์คํ
, ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(๊ฐ๋น์ง ์ปฌ๋ ์
), ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ณด์, ํ๋ซํผ ๋
๋ฆฝ์ฑ(์ฃผ๋ก .NET ํ๊ฒฝ) ๋ฑ์ ํน์ง์ผ๋ก ํ๋ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์
๋๋ค. C++์ ๋นํด ๋ ์๊ฒฉํ ๊ฐ์ฒด์งํฅ ์์น๊ณผ ๊ฐ๋ ฅํ ํ์
์์ ์ฑ์ ์ ๊ณตํ๋ฉฐ, C์ ๋ฌ๋ฆฌ ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ ๋์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ค์ ์ ๋ก๋๋ค. ๋ํ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(๊ฐ๋น์ง ์ปฌ๋ ์
)๋ฅผ ์ ๊ณตํ์ฌ, C++๊ณผ C์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(์: `new`, `delete`, `malloc`, `free`)์ ๊ตฌ๋ณ๋ฉ๋๋ค. C#์ ๋ง์ดํฌ๋ก์ํํธ์ .NET ํ๋ ์์ํฌ์ ๋ฐ์ ํ๊ฒ ์ฐ๊ด๋์ด ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ค์ํ ํ๋ซํผ์์ ์คํ๋ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. C์ C++์ ..
์ ์
๊ฐ๋ฐ์ ๊ธฐ์ ๋ฉด์ : C++ 04 (C, C#, Java์์ ์ฐจ์ด์ )
๐ฃ๏ธ C++๊ณผ C์์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ง์์ ์์ด ์ด๋ค ์ฃผ์ ์ฐจ์ด์ ์ด ์๋์? C++์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์์น๋ค์ ์ง์ ์ ์ผ๋ก ์ง์ํ๋ ๋ฐ๋ฉด, C๋ ์ ์ฐจ ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, ์ฃผ๋ก ์์ฐจ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ด์ ์ ๋ง์ถฅ๋๋ค. C์์๋ ๊ตฌ์กฐ์ฒด(struct)๋ฅผ ์ฌ์ฉํ์ฌ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃนํํ ์ ์์ง๋ง, ๋ฉ์๋๋ฅผ ํฌํจํ ์๋ ์์ต๋๋ค. C์์๋ ์์์ด๋ ํด๋์ค ๊ธฐ๋ฐ์ ์ถ์ํ๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ์ด๋ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ ์ ํํฉ๋๋ค. ๋ํ C++์ ๊ฐ์ฒด ์ค์ฌ, namespace, ์ค๋ฒ๋ผ์ด๋ฉ, ์์ธ์ฒ๋ฆฌ, ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ๐ฃ๏ธ C++๊ณผ Java์์ ์ด๋ค ์ฃผ์ ์ฐจ์ด์ ์ด ์๋์? Java ๋ ๋ณด๋ค ์์ ํ๊ณ ํด๋์ฑ์ด ๋์ ํ๋ก๊ทธ๋๋ฐ์ ์ํด ์ค๊ณ๋ ๋ฐ๋ฉด, C++์ ์ฑ๋ฅ๊ณผ ์ ์์ค์ ์์คํ
..