๋ฐฐ์ด
CS ๋ถ์ผ์์ ๋ฐฐ์ด์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
๋ฐฐ์ด์ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ๋ฐ์ดํฐ๋ค์ด ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ฆ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ฐ์๋์ด์ผ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ฐ์๋์ด์ผ ํ๋ค๋ ํน์ฑ ๋๋ฌธ์ ์์๋ก ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅ ํ๋ค๋ ํน์ฑ์ด ์กด์ฌํ๋ค.
๊ทธ๋์ ๋ง์ฝ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ๋์ด๋์ผํ ๋๋ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๊ธฐ์กด ๋ด์ฉ์ ๋ณต์ฌํ๋ ํํ๋ก ์ฌ์ฉํ๊ณค ํ๋ค.
์ด๋ ๊ฒ๋ง ๋ณธ๋ค๋ฉด ๋ฐฐ์ด์ด ์ ์ข์๋ณด์ผ ์ ์๋ค. ์๋ฃ๊ตฌ์กฐ์ ๋ฑ์ฅํ๋ ์ฐ๊ฒฐ ๋ฆฌ์คํธ๊ฐ ๋ ์ข์๋ณด์ผ ์ ์์ง๋ง ๋ชจ๋ ์ํฉ์์ ๋ฐฐ์ด์ด ์ ์ข์ ๊ฒ์ ์๋๋ค.
๋ฐฐ์ด์ index ๊ฐ์ ํ ๋๋ก ์์์ ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ํ์์์์ ์๊ฐ ๋ณต์ก๋๊ฐ O(1)
์ผ๋ก ์์ ์๊ฐ์ด ๋ ๋ค.
๊ทธ๋์ ๊ฐ๋จํ ๊ณณ์์ ์์ฃผ ์ฌ์ฉ๋๋ค.
C ์ธ์ด์์์ ๋ฐฐ์ด
C ์ธ์ด ์์ ๋ฐฐ์ด์ ๊ธฐ๋ณธ ์๋ฃํ์ผ๋ก ์ ๊ณต๋๋ค.
์์ ์ด์ผ๊ธฐํ๋ฏ ๋ฐฐ์ด์ ๊ณ ์ ๋ ํฌ๊ธฐ์ ์ฐ์๋ ๋ฉ๋ชจ๋ฆฌ๋ผ๊ณ ํ์๋ค.
๊ทธ๋ผ ์ด๋ฐ ๋ฐฐ์ด์ด ์ ์ฌ์ฉ๋ ์ง ์๊ฐํด๋ด์ผ ํ๋ค.
๋ง์ฝ ๋ค์๊ณผ ๊ฐ์ด ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
int student1, student2, student3, student4, student5, student6;
student1 = 88;
student2 = 89;
student3 = 73;
student4 = 65;
student5 = 99;
student6 = 100;
ํ์ ์ ์ ์ฅํด์ผ ํ๋ค๊ณ ๊ฐ์ ํ์ ๋ ์์ ๊ฐ์ ๋ฐฉ์์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ค.
๋์ผํ ๋ฐ์ดํฐ ํ์ ์ธ int ํ ๋ฐ์ดํฐ์ธ ํ์ ์ ๋ฐฐ์ด์ ์ด์ฉํ๋ค๋ฉด ๋งค์ฐ ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค.
int student[] = {88, 89, 73, 65, 99, 100};
// ํน์ ๋ค์๊ณผ ๊ฐ์ด ํ ๋นํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค
int teacher[6];
teacher[0] = 88;
teacher[1] = 89;
teacher[2] = 73;
teacher[3] = 65;
teacher[4] = 99;
teacher[5] = 100;
๋ฐฐ์ด์ ์ธ๋ฑ์ค
๋ง์ฝ ๋ฐฐ์ด์ ํน์ ์์์ ๊ฐ์ ์ป๊ณ ์ถ์ ๋๋ ์ด๋ป๊ฒ ํ ๊น?
์ฆ, 3๋ฒ์งธ์ ์์นํ ๊ฐ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋๋ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ ์ ์๋ค.
๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ ๋ฐฐ์ด์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์์ ๋ฒํธ๋ฅผ ์๋ฏธํ๋ค.
์ฐ๋ฆฌ๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด์ ๋ฐฐ์ด์ ํน์ ๊ฐ์ ์ ๊ทผํ ์ ์๋ค.
๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
#include <assert.h>
int main() {
int student[] = {88, 89, 73, 65, 99, 100};
assert(student[0] == 88); // ์ฒซ ๋ฒ์งธ ์์ 0
assert(student[3] == 65); // n ๋ฒ์งธ ์์ (์ฐพ์ผ๋ ค๋ ์์ ์์ - 1)
assert(student[5] == 100); // ๋ง์ง๋ง ์์ (๋ฐฐ์ด ๊ธธ์ด - 1)
}
๋ฐฐ์ด์ 0 ๋ฒ์งธ ์ธ๋ฑ์ค ๋ถํฐ ์์ํ๋ค.
์ด์ ๋ํ ์์ธํ ์ฌํญ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ด๋ จ๋์ด ์๋๋ฐ, ๋ค์ ํฌ์ธํฐ ํฌ์คํ ์์ ๋์ค๋ฏ๋ก ์ ์ ๋์ด๊ฐ๋๋ก ํ์.
์์ ๊ท์น์ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ์ ์ ์๋ค.
๋๊ธ