Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- have a nice day
- 텐션 업 10기 화이팅
- 우유가 옆으로 넘어지면 아야
- 네트워크
- 아자아자 화이팅
- 수학
- 모르고리즘
- SSAFY 테스트
- amazon
- Java 환경 설정
- SSAFY IM/A
- 자고 싶다
- Have a nice day.
- SeongSeobDang
- LeetCode #릿코드 #좋은 하루 되세요 #Have a nice day
- 텐션 업 10기!
- DP
- Have a good day :)
- DFS
- 우유아야
- 자료구조
- HAVE A GOOD DAY
- 우유가옆으로넘어지면아야
- SSAFY 10기 화이팅
- 코로나 싫어요
- Hamming weight
- BFS
- SSAFY 화이팅
- I am Korean
Archives
- Today
- Total
Hope Everyone Is Happy
2. 벡터 (vector) 본문
728x90
반응형
본 게시글은 책 : 면접을 위한 CS 전공지식 노트 (출판사 : 길벗, 주홍철 지음) 을 참조하여 작성하였습니다. + 구글링
*선형 자료 구조 : 요소가 일렬로 나열되있는 자료구조
◆ 벡터 (vector)
- 동적으로 요소를 할당할 수 있는 배열
- 중복을 허용하고 순서가 있으며 랜덤 접근이 가능
- 맨뒤나 맨앞이 아닌 요소를 삽입과 삭제에 O(1), 맨뒤나 맨앞이 아닌 경우, O(n)
- vector에서의 push_back 은 뒤에 메모리 공간이 없으면 할당하여 값을 입력, 메모리 공간이 있으나 값이 비어 있으면 값만 할당
- C++ 라이브러리에서 vector 자료형에 관한 다양한 함수 구조 지원
ex) push_back, pop_back, erase, find() , clear()
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vecArr;
// 1부터 10까지 벡터의 맨뒤에 하나씩 추가
for(int i = 1; i < 10; i++) {
vecArr.push_back(i);
}
// 벡터의 첫번째 원소값 제거
vecArr.erase(vecArr.begin(), vecArr.begin()+1);
// 벡터내부에 5를 탐색
auto a = find(v.begin(), v.end(), 100);
// a가 벡터의 마지막 메모리일 경우 탐색 실패
if(a == v.end())
cout << "Failed to find" << endl;
// 벡터에 할당된 값과 메모리를 전부 제거
vecArr.clear();
return 0;
}
이 책 뭔가.. 어색하다 해야 할지 이상하다 해야 할지... 자료구조 선정의 기준은 무엇일까요..?
위의 글과 관련하여 추가적인 내용이나 피드백은 언제나 환영입니다 :)
'※ CS 스터디 > 자료구조' 카테고리의 다른 글
5. 트리 (Tree) (0) | 2023.08.15 |
---|---|
4. 그래프 (Graph) (0) | 2023.08.15 |
3. 스택 (Stack) & 큐 (Queue) (0) | 2023.08.09 |
1. 연결 리스트 (Linked List) & 배열 (Array) (0) | 2023.08.09 |
0. 시간 복잡도 & 공간 복잡도 (0) | 2023.08.09 |