์ผ๋จ ๋ด๊ฐ ํ๊ณ ์๋๊ฑด ์ฝฐ์ธ-๋งฅํด๋ฃจ์คํค ๋ฐฉ๋ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ฝ๋ํ ํ๋ ์ค์.
๋ด๊ฐ ๊ฒช๊ณ ์๋ ๋ฌธ์ ๋ฅผ ์ฐจ๊ทผ์ฐจ๊ทผ ์ค๋ช ํด๋ณผ๊ฒ
๋จผ์ . 10์ง ์ ์ ๋ฆฌ์คํธ์ ํฌ๊ธฐ 4์ ์ด์ง ์ฝ๋ ๋ฐฐ์ด์ ๊ฐ์ง ํ์ 16๊ฐ ๋ง๋ฆ
๋๋ฒ์งธ๋ก. ์ด ํ์ input์ ๋ฐ๋ผ is_implicant = true ๋ก ๋ฐ๊พธ๊ณ
ย is_implicant = true์ธ ํ ๋ค์ค 1์ ๊ฐฏ์์ ๋ฐ๋ผ ๊ฐ๊ฐ
1์ด 0๊ฐ์ธ ํ ๋ฐฐ์ด
1์ด 1๊ฐ์ธ ํ ๋ฐฐ์ด
1์ด 2๊ฐ์ธ ํ ๋ฐฐ์ด
1์ด 3๊ฐ์ธ ํ ๋ฐฐ์ด
1์ด 4๊ฐ์ธ ํ ๋ฐฐ์ด์ ๋ถ๋ฐฐํ์ฌ ๋ฃ์์
์ธ๋ฒ์งธ๋ก. ์ธ์ ํ ๋๊ฐ์ ๋ฐฐ์ด์ ๋น๊ตํด์ ์ด์ง ์ฝ๋๊ฐ์ ์ฐจ์ด๊ฐ 1๊ฐ ์ดํ์ด๋ฉด ๋ ์ฐจ์ดํญ์ ํฉ์ณ์คฌ์
๋ค๋ฒ์งธ๋ก. ์ด์ ๋์ด์ ํฉ์ณ์ง ์ฐจ์ดํญ์ด ์์๋๊น์ง ํฉ์ณ์คํ. ์ง๊ธ๊น์ง ๋์๋ ๋ชจ๋ ํญ๋ค์ ํ๋์ ๋ฐฐ์ด์ ๋ฃ์ด์คฌ์
๊ทธ๋ฆฌ๊ณ ๊ทธ ๋ฐฐ์ด ๋ด์ ์๋ ํ๋ค๋ผ๋ฆฌ 10์ง ์ ์ ๋ถ๋ถ์ด ๊ฒน์น๋ ํ๋ค์ ์๊ฐ ํด์ฃผ๊ธฐ๋กํจ
<-- ์ฌ๊ธฐ์ ๋ฌธ์ ๊ฐ ์๊น.
๋๋ ์ด ์ ๊ฑฐ ๋ ํ์ delete๋ก ์ ๊ฑฐ ํ๋ ค๊ณ ํ๋๋ฐ (ํ์์ฒด๊ฐย ๊ฐ์ฒด๋๊น)
๊ฐ์ฅ ์ฒ์ ์ฌ๋ฆฐ ์ฌ์ง์ ๋์๋ฏ์ด
์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ฅ ๊ทผ๋ณธ ๋ถ๋ถ์ ์๋ ํ ๊ฐ์ฒด๊ฐ
Table_line *TL[number_of_line] = new Table_line(); ์ผ๋ก ๋์ ํ ๋น ํ ๊ฒ์ด ์๋๋ผ
Table_line TL[number_of_line] = Table_line(); ์ผ๋ก ์ ์ธํด๋ฒ๋ ค์ delete๋ก ๋์ ํด์ ๋ฅผ ํ ์๊ฐ ์์๋๊ฑฐ์
๊ทธ๋์ ๋๋ค์ด ๋ต๋ณํด์ค Table_line *TL = new Table_line(); ์ผ๋ก ๊ณ ์น๋๊ฑธ ํ ์๊ฐ ์์ ์ฝ๋๋ฅผ ์ฒ์๋ถํฐ ๋ค์์จ์ผ ๋ ํ์ด๋๊น...
delete๊ฐ ์๋๋ค๋ฉด ์ด๋ป๊ฒ ์ ๋ฐฐ์ด์์ ๋ค์ด์๋ ๊ฐ์ฒด๋ฅผ ์ ๊ฑฐ ํ ์ ์๊ฒ ์?
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ใ ใ ๊ทธ๋์ ๋์ ํ ๋น ํด์ค๊ฒ ์๋๋ผ ์ ์ธ ํ๋ค๊ณ ํ์์
๊ทผ๋ณธ ๋ถํฐ ๋์ ํ ๋น ํด์ค๊ฒ ์๋๋ผ์ ๋์ ํ ๋น์ผ๋ก ๊ณ ์น๋ ค๋ฉด ์ฝ๋ ๋ค์์ง์ผ๋จ
๋ค๋ฅธ ์ธ์ด ๋ฆฌ์คํธ ์ฐ๋ค๊ฐ c++๋ฆฌ์คํธ ์ฐ๋ ค๋ iter๋ ๋ญ๋ ๋จธ๋ฆฌ ์ํ์ ๊ทธ๋ฅ ๋ฐฐ์ด๋ก ํ๋๋ฐ, ์ฌ์ค ์๋๋ ๋งํฌ๋ ๋ฆฌ์คํธ์ ์ค๊ฐ ์ ๊ฑฐ๊ฐ ํ์ํ ๊ฑฐ์์... ์๊ฐ์ ๋๋ฌด ๋ณต์กํ๊ฒ ํ๋๋ฏ, ๋ฐฐ์ด ์ฌ์ด์ฆ ์ค์ด๊ณ ์์ ์ธ ํ๋๊ฒ ๋ง์๋ฏ ใณ
์ฌ์ค ๋ฆฌ์คํธ ์ฌ์ฉ์ ๋ฐฐ์ ์ํค๋๋ผ ๋์ ํ ๋น ์๋๋ ๋ฐฐ์ด๊ฐ์ง๊ณ ์ด๋ป๊ฒ๋ ๋ง๋ค์ด ๋ณด๋ ค๊ณ [์์๋๋ ๋ฐฐ์ดํฌ๊ธฐ ๋ฏธ๋ฆฌ ์ธก์ ] -> [๋ฐฐ์ด์ ์ธ] -> [๋ฐฐ์ด ๊ฐ ์ฝ์ ] ์ด๋ฐ ์ฝ๋๊ฐ ๋๋ถ๋ถ์ ์ฐจ์งํ๋๋ฐ, ์ด์ list๋ก ์ฝ๋๋ฅผ ๊ณ ์น๋ ค๋ฉด ๊ทธ๋ฅ ์๋ก ์ง๋๊ฒ ๋๋น ๋ฅด๊ฒ ์. ์ผ๋จ ์ง๊ธ ๋ฐฐ์ด๋ก ๋ง๋ค๊ณ ์๋๊ฑฐ ์์ฑํด๋ณด๊ณ list๋ก ๋ค์ํ๋ฒ ์ง๋ณด๋๊ฒ ๋์๋ ๋ฏ. ๋ต๋ณ๊ณ ๋ง์์ค
์ ํ๊ณ ์ถ๋ค๋ฉด number_of_line์ 1 ์ค์ด๊ณ ์ง์ฐ๊ณ ์ถ์ ์ํธ๋ฆฌ ์ดํ์ ์ํธ๋ฆฌ๋ฅผ 1์นธ์ฉ ๋น๊ธฐ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ง์ฐ๋ ์ก์ ์ ๋ชจ์ฌํ ์ ์๊ฒ ์ผ๋ ๋๋ผ๋ฉด ๋์ ํ ๋น์ผ๋ก ๋ฐ๊พผ๋ค. ๊ฑฐ ๋ญ ์ด๋ ต์ง๋ ์์๊ฑฐ ๊ฐ์๋ฐ
๊ทธ๋ฆฌ๊ณ ์์น๊ตฌ ๋ง์ฒ๋ผ ์ฌ์ค ์ปจํ ์ด๋์ ๋ค์ด๊ฐ ์๋ฃํ์ด ํฌ์ธํฐ๋ ๊ฐ์ฒด ์ธ์คํด์ค ์์ฒด๋๋ ์ง๊ธ ๋ฌธ์ ๋ ๋ณ๋ก ์๊ด์์ ์ ์๋ค Table_line์ ๋ด๊ณ ์๋ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ ์ Array์ธ๊ฒ ์คํ๋ ค ์์ ์ ๋ฐฉํด๋๋๊ฑฐ์ง.. (๊ทผ๋ฐ ๋ด๊ฐ ์๋ c++์์๋ ์ ๋ฐ์์ผ๋ก ๋์ ์ธ ๊ฐ์ผ๋ก ์ด๋ ์ด ์ ์ธ์ด ์๋๋๋ฐ ์ธ์ด ๋ญ์?
๊ทธ๋ฌ๋๊น ๋์ ํ ๋น ๋ญ ๊ทธ๋ฐ๊ฑฐ ๋ชจ๋ฅด๊ฒ ๊ณ ์ฒซ ์ค์ ๊ทธ๋ฅ ๋ฆฌ์คํธ๋ ๋ฐฑํฐ๋ก ๋ฐ๊พธ๋ฉด ๊ทธ๋ฅ ๊ทธ ์์น๋ฅผ ๋นผ๋ฉด ๋๋ ์ผ์ผ๋ฏ
c++๋ง๊ณ ๊ฐ์ฒด๋ฐฐ์ด๋ก ์ ์ธํ๊ฑฐ์. ํ ์ธ์ด์์ ์ด์ C++ ๋์ด์ค๋ ๊ณผ๋๊ธฐ๋ผ class๋ list ์ฌ์ฉ์ด ๋ฏธ์ํด์ ์ค๋ฅ๋ฅผ ์ต๋ํ ์ค์ด๋ ค๊ณ "์ด๊ฑด ํด๋์ค๋ ๋ฆฌ์คํธ๋ฅผ ์์ฐ๋ฉด ๋ก์ง ์์ฒด๊ฐ ๊ตฌํ์ด ์๋๋ค!!" ์ถ์๊ฑฐ๋ง ์๋๋ฉด ๋ฐฐ์ด ๊ฐ์๊ฑธ๋ก ๊ตฌํ ํ๋ ค๊ณ ํด์ ์๊ธด ์์ฌ์ธ๋ฏ... ์์น๊ตฌ๊ฐ ๋งํด์ค๋ฐ๋ก ๊ณ ์ณ์ผ๊ฒ ์
๊ทธ๋ฌ์ง๋ง๊ณ c++์ด๋ฉด ์ ๋ฐ std::vector TL; ์จ์ค..
๊บฝ์๊ดํธ ์ ๋ด์ฉ์ด ์นํ๋ฒ๋ฆฌ๋ค;;
ํ์ง๋ง... vector๋ผ๋ ๊ฐ๋ ์กฐ์ฐจ ์ฒ์๋ค์ด๋ณด๋๊ฑธ...
๋์ ๋ฐฐ์ด์ด์ผ ๊ทธ๋ฅ ์ ๊ฑฐ ์ฐ๋ฉด TL.erase(index - TL.begin()) ํ๋ฉด ๋ค๊ฐ ์ํ๋๋๋ก ๋นผ๊ณ ์ถ์ ์ํธ๋ฆฌ๊ฐ ๋น ์ง๋ค ๋ฌผ๋ก ์ดํฐ๋ ์ด์ ์์ค์ ์ง์ฐ๊ณ ์ถ์ผ๋ฉด ์ชผ๋ ์ ๊ฒฝ์จ์ผ ํ ๋ถ๋ถ์ด ์๊ฒ ์ง๋ง
์ง์ด๋ค๋๊ฒ ์ด๋ค ์๋ฏธ์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค์ ํด๋น์ธ๋ฑ์ค๋ฅผ ์ฐธ์กฐํ์๋ null์ด ๋์ค๊ธธ ์ํ๋๊ฑด์ง. ๊ฐ์ฒด ์์ฒด์ delete_flag๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค.
๋ฐฑํฐ๋ก ๋ง๋ค์ด
๋ฒกํฐ ๊ฐ๋ ์ฒ์๋ฃ๋๋ค ์ด๋ฐ์๋ฆฌํ ๊ฑฐ๋ฉด ์ง๋ฌธํ์ง๋ง๊ณ
ํ๊ฐค๋ก ใฑใฑ