티스토리 뷰

코딩/자료구조

[자료구조] 벡터(vector)

코딩충 2019. 3. 20. 17:35


오랜만에 포스팅 해보는 것 같습니다.

오늘은 벡터(vector)라는 자료구조에 대해 포스팅 하겠습니다. 편의상 vector로 많이 쓰므로 vector 라고 하겠습니다.


뭐 자료구조라고 보기에는 좀 애매한 부분이 있기는 하지만.

우선 이름에 대해 말하자면 vector는 수학의 벡터와 헷갈리기 쉬운데 완전히 다른겁니다. 

코딩과 수학에서 이름은 동일한테 완전히 다른 거여서 헷갈리는게 몇개 있는데 대표적인게 벡터입니다.


벡터는 배열과 비슷하지만 어떤 면에서는 완전히 다릅니다.



배열과의 공통점과 차이점


 

 벡터

 배열

 공통점

자료구조의 정보를 숫자로 접근한다(index)

자료구조의 정보를 숫자로 접근한다(index) 

 차이점

1.크기가 무한하다(실제로 무한하지는 않지만)

2. 정보를 자료구조 속에 넣을때 가장 뒤에 넣는다

3.정보를 넣을때마다 크기가 1씩 증가한다.

1.크기가 정해져 있다.

2.정해진 크기 내의 모든 원소에 값이 있다. (정의하고 나서 값을 출력해보면 이상한 값이 들어 있다. 흔히 '쓰레기값' 이라고 할 수 있다. 보통 수가 엄청 크거나 작다. 정의된 범위(예를 들어서 int 범위) 에 가까운 값들이 많다)

 단점

(생각해 봐야겠다)

크기가 정해져있다 

 장점

자료를 넣고 빼기가 편하다.

크기가 무한하다.

(생각해 봐야겠다)


이렇게 정리 할 수 있습니다.


vector의 구현은 하지 않겠습니다(배열로 구현하면 매우 쉬움) 

그 대신 std::vector의 사용법에 대해 설명하겠습니다.

다른 stl과 마찬가지로(stack, queue, dequeue) #include <vector> 가 필요합니다.

그리고 vector를 쓸때마다 std::vector라고 쓰지 않으실거면 using namespace std; 를 꼭 적어주셔아 합니다.


참고사항: 아래의 vector의 연산 부분에서 나오는 v는 vector의 이름을 의미합니다.


vector의 연산에 대해 말씀드리겠습니다.

std::vector 기준(즉 stl 기준) 이고요 레퍼런스를 참고해주세요.


1.vector의 기본 연산

 -1.v.push_back(): vector가 비었는지 알려준다

 -2.v.size(): 벡터의 크기를 알려준다

 -2.v.size(): 벡터의 크기를 알려준다

 -2.v.size(): 벡터의 크기를 알려준다


2.vector의 원소를 접근하는 연산

 -1.v[접근할 원소의 번째]: vector의 i번째 원소의 값은 v[i] 라고 해주시면 됩니다. v[0]은 0번째 원소, v[1]은 1번째 원소, v[2]은 2번째 원소, 등.

 -2.v.front(): vector의 0번째 원소는 특별하게 접근 할 수 있는데 v.front()를 하시면 v[0]과 같은 연산을 합니다.

 -3.v.back(): 마찬가지로 vector의 마지막 원소는 특별하게 v.back()으로 접근 하실 수 있습니다.


3.vector의 원소를 바꾸거나 정하는 연산

  -1.v.assign(): vector의 일정 부분을 assign 즉 배정하는 연산인데 자세한 부분은 레퍼런스를 참고하시길 바랍니다.


4.vector의 상태를 알려주는 연산

 -1.v.empty(): vector가 비었는지 알려준다

 -2.v.size(): 벡터의 크기를 알려준다

 -2.v.size(): 벡터의 크기를 알려준다

 -2.v.size(): 벡터의 크기를 알려준다



CONTENT BY 코딩 충, DEV++

DESIGN BY DEV++

'코딩 > 자료구조' 카테고리의 다른 글

[자료구조] C++ 큐(Queue)  (1) 2022.05.24
[자료구조] 연결 리스트(linked list)  (0) 2019.03.20
[자료구조] C++ 스택(STACK)  (4) 2017.08.27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함