๋ฐฐ์ด ์ฝ์ ์๋ฆฌ์ฆ
๋ฐฐ์ด ์ฝ์ 1 (๋ฐฐ์ด์ ๋์ ์ฝ์ ํ๊ธฐ-Inserting at the End of an Array)
๋ฐฐ์ด์ ์์ ๋ถ๋ถ์ ์ฝ์ ํ๊ธฐ(Inserting at the Start of an Array)
๋ฐฐ์ด์ ์์ ๋ถ๋ถ์ ์์๋ฅผ ์ฝ์
ํ๋ ค๋ฉด, ์ ์์๋ฅผ ์ํ ๊ณต๊ฐ์ ๋ง๋ค๊ธฐ ์ํด ๋ฐฐ์ด์ ๋ค๋ฅธ ๋ชจ๋ ์์๋ค์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ๋์ ์ธ๋ฑ์ค๋งํผ ์ด๋์์ผ์ผ ํฉ๋๋ค.
์ด๊ฒ์ ๋น์ฉ์ด ๋งค์ฐ ๋ง์ด ๋๋ ์์
์
๋๋ค, ์๋ํ๋ฉด ๊ธฐ์กด์ ์์๋ค์ ๋ชจ๋ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ๋จ๊ณ์ฉ ์ด๋์์ผ์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ชจ๋ ๊ฒ์ ์ด๋์์ผ์ผ ํ๋ค๋ ๊ฒ์ ์ด ์์
์ด ์์ ์๊ฐ ์์
์ด ์๋๋ผ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ฌ์ค, ๋ฐฐ์ด์ ์์ ๋ถ๋ถ์ ์ฝ์
ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋ฐฐ์ด์ ๊ธธ์ด์ ๋น๋กํ ๊ฒ์
๋๋ค.
์๊ฐ ๋ณต์ก๋ ๋ถ์ ์ธก๋ฉด์์ ์ด๋ ์ ํ ์๊ฐ ๋ณต์ก๋, ์ฆ O(N)
์ธ๋ฐ, ์ฌ๊ธฐ์ N
์ ๋ฐฐ์ด์ ๊ธธ์ด์
๋๋ค.
๋ค์์ ์ฝ๋์ ๋ชจ์ต์
๋๋ค.
// ๋ฐฐ์ด์ฝ์
1 ์ฝ๋ ์ฐธ๊ณ
var intArray = [Int](repeating: 0, count: 6)
var length = 0
for i in 0..<3 {
intArray[length] = i
length += 1
}
func printArray() {
for i in 0..<intArray.count {
print("Index \(i) contains \(intArray[i])")
}
}
intArray[length] = 10
length += 1
// ๋จผ์ , ์๋ก์ด ์์๋ฅผ ์ํ ๊ณต๊ฐ์ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
// ์ด๋ฅผ ์ํด ๊ฐ ์์๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ๋์ ์ธ๋ฑ์ค๋งํผ ์ด๋์ํต๋๋ค.
// ์ด๊ฒ์ ๋จผ์ ์ธ๋ฑ์ค 3์ ์์๋ฅผ ์ด๋์ํค๊ณ , ๊ทธ ๋ค์ 2, ๊ทธ ๋ค์ 1, ๋ง์ง๋ง์ผ๋ก 0์ ์ด๋์ํต๋๋ค.
// ์ด๋ค ์์๋ ๋ฎ์ด์ฐ์ง ์๊ธฐ ์ํด ๋ค์์๋ถํฐ ์งํํด์ผ ํฉ๋๋ค.
for i in(0...3).reversed() {
intArray[i + 1] = intArray[i]
}
// ์ด์ ์๋ก์ด ์์๋ฅผ ์ํ ๊ณต๊ฐ์ ๋ง๋ค์์ผ๋ฏ๋ก,
// ์์ ๋ถ๋ถ์ ์ฝ์
ํ ์ ์์ต๋๋ค.
intArray[0] = 20
printArray()
๋ค์์ printArray()
๋ฅผ ์คํํ ๊ฒฐ๊ณผ์
๋๋ค.
Index 0 contains 20.
Index 1 contains 0.
Index 2 contains 1.
Index 3 contains 2.
Index 4 contains 10.
Index 5 contains 0.