Basic of Array and List
Array(๋ฐฐ์ด) - array[ ]
๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ ๊ณต๊ฐ์ ๊ฐ์ด ์ฑ์์ ธ ์๋ ํํ์ ์๋ฃ๊ตฌ์กฐ. ์ธ๋ฑ์ค๋ฅผ ํตํด ์ฐธ์กฐ ๊ฐ๋ฅ. ์ ์ธํ ์๋ฃํ์ ๊ฐ๋ง ์ ์ฅ ํ ์ ์๋ค.
๋ฐฐ์ด์ ํน์ง
- ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํด ๊ฐ์ ๋ฐ๋ก ์ ๊ทผํ ์ ์๋ค.
- ์๋ก์ด ๊ฐ์ ์ฝ์
ํ๊ฑฐ๋ ํน์ ์ธ๋ฑ์ค์ ์๋ ๊ฐ์ ์ญ์ ํ๊ธฐ ์ด๋ ค์.
์ฝ์ ํน์ ์ญ์ ํ๋ ค๋ฉด ์ฃผ๋ณ ๊ฐ์ ์ด๋์ํค๋ ๊ณผ์ ํ์ - ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ์ ์ธํ ๋ ์ง์ . ํ๋ฒ ์ ์ธ ํ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์๋ค.
- ๊ตฌ์กฐ๊ฐ ๊ฐ๋จ
List
๊ฐ๊ณผ ํฌ์ธํฐ๋ฅผ ๋ฌถ์ ๋ ธ๋๋ผ๋ ๊ฒ์ ํฌ์ธํฐ๋ก ์ฐ๊ฒฐํ ์๋ฃ๊ตฌ์กฐ
List์ ํน์ง
- ์ธ๋ฑ์ค๊ฐ ์์ผ๋ฏ๋ก ๊ฐ์ ์ ๊ทผํ๋ ค๋ฉด Head ํฌ์ธํฐ ๋ถํฐ ์์๋๋ก ์ ๊ทผํด์ผํจ.
์ ๊ทผ ์๋ ๋๋ฆผ. - ํฌ์ธํฐ๋ก ์ฐ๊ฒฐ โ ๋ฐ์ดํฐ ์ฝ์ ์ญ์ ์ฐ์ฐ ์๋ ๋น ๋ฆ
- ์ ์ธ ์ ๋ณ๋ ํฌ๊ธฐ ์ง์ ์ํด๋ ๋จ. ํฌ๊ธฐ๊ฐ ๋ณํ๊ธฐ ์ฌ์ด ๋ฐ์ดํฐ ๋ค๋ฃฐ ๋ ์ ์
- ํฌ์ธํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ ํ์ โ ๋ฐฐ์ด๋ณด๋ค ๊ตฌ์กฐ ๋ณต์ก
Vector!!
๊ธฐ์กด์ ๋ฐฐ์ด๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ฉด์ ๋ฐฐ์ด์ ๋จ์ ์ ๋ณด์ํ ๋์ ๋ฐฐ์ด์ ํํ
Vector์ ํน์ง
์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํ๊ณ , ์ฌ์
- ๋์ ์ผ๋ก ์์๋ฅผ ์ถ๊ฐํ ์ ์๋ค. ํฌ๊ธฐ๊ฐ ์๋์ผ๋ก ๋์ด๋จ
- ๋งจ ๋ง์ง๋ง ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ๊ฑฐ๋ ์ญ์ ํ ๋ ๋ฌธ์ X.
์ค๊ฐ ์ฝ์ ์ญ์ ๋ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๋ฉ์ปค๋์ฆ์ผ๋ก ๋์. - ๋ฐฐ์ด๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํด ๊ฐ ๋ฐ์ดํฐ์ ์ ๊ทผ.
Vector example code
#include <iostream>
#include <ostream>
#include <vector>
using namespace std;
int main() {
vector<int> A;
A.push_back(10);
A.push_back(30);
A.push_back(5);
A.push_back(8);
A.push_back(8);
A.push_back(1);
A.insert(A.begin(), 7);
A.insert(A.begin() + 2, 10);
A[4] = -5;
A.pop_back();
A.erase(A.begin() + 3);
cout << A.size() << endl;
cout << A.front() << endl;
cout << A.back() << endl;
cout << A[3] << endl;
cout << A.at(5) << endl;
}