📌 Deque란맨 앞, 맨 뒤에 원소를 추가할 수 있는 자료구조동적 배열 형태임의의 위치 원소 접근, 앞뒤 원소 삽입 시 O(1) 보장📌 Deque 선언
함수 원형: char strstr(char str1, const char\* str2);필요 헤더파일: str1에서 str2와 일치하는 문자열이 있는지 확인하는 함수str1에서 str2의 문자열과 일치하는 문자열이 있다면 해당 위치의 포인터(char\* 타입) 반환함수
Pair(페어): include 헤더 파일에 존재하는 STLvector, algorithm 등 이미 include 되어있기 때문에 따로 include 해줄 필요는 없음.pair는 두 자료형을 묶을 수 있게 해줌. 무조건 2개를 묶어야 하고 first, second로
반복자는 컨테이너와 알고리즘이 하나로 동작하도록 묶어주는 인터페이스 역할.iterator로 인해 특정 컨테이너에 종속적이지 않고 독립적이면서도 언제든지 컨테이너와 결합해 동작 가능.컨테이너와 컨테이너 안의 요소를 구별요소의 값 확인컨테이너 안에 있는 요소들 간 이동할
cin.tie(null); 또는 cin.tie(0);cin을 cout으로부터 untie 시킴.stream을 tie하면 다른 stream에서 입출력 요청이 오기 전에 stream을 flush 시킴.예를 들어, "Hi"를 cout 후 name을 cin이 코드로 입력된 경우
: 우선순위 큐queue의 한 종류로 우선 순위에 따라 정렬된 queue.어떤 원소가 push되면 우선순위에 맞춰 정렬되고, pop되면 정렬된 queue의 앞 원소가 삭제.자료구조 Heap으로 구현되었기 때문에 특정 원소를 push해 생기는 정렬 과정은 O(log N)
: 어떤 메모리의 시작점으로부터 연속된 범위를 어떤 값(바이트 단위)로 모두 지정하고 싶을 때 사용void memset(void ptr, int value, size_t num);ptr: 채우고자 하는 메모리의 시작 포인터(시작 주소)value: 메모리에 채우고자 하는
숫자열을 배열에 하나씩 집어넣으려면이런식으로 하면 된다.
너무 많은 자료를 저장한다.검색 속도가 빨라야 한다.너무 빈번하게 자료를 삽입, 삭제하지 않는다.(무분별하게 사용하는 것은 좋지않음. 단순 추가, 삭제는 list, vector, deque가 더 빠름.)map, set 컨테이너를 사용하는 경우: 정렬된 상태로 자료 저장
자꾸 찾아보기 귀찮아서 적어두는 vector 사용법: 자동으로 메모리가 할당되는 배열벡터 생성기본값 0으로 초기화 된 원소 5개를 가지는 벡터 생성v.assign(3, 1);: 1로 3개의 원소 할당v.at(index); or vindex;index 원소 참조v.at보
https://hongchan.tistory.com/5
: 하나 이상의 변수를 그룹 지어 새로운 자료형을 정의.이렇게 함으로써 컴파일러에 student 구조체를 정의했다.구조체 안 변수인 name, age를 member 또는 field라고 한다.📌주의 구조체 이름의 첫 글자는 대문자로 시작, 구조체 선언 끝 ;(세미콜론)
주 사용 언어는 C++이었는데 올해 학교에서 python을 사용할 일이 많아서 사용하다보니 string 방면에서 너무너무 편하다는 것을 느꼈다. 다시 C++로 코드를 짜려니 마땅한 함수가 없어 힘들다. 특히 split이 그립다.그래서 C++에서 쓸 수 있는 split
map보다 더 빠른 탐색을 하기 위한 자료구조unordered_map은 해쉬테이블로 구현한 자료구조. 탐색 시간복잡도: O(1)map은 Binary Search Tree로 탐색 시간 복잡도: O(log n)unordered_map은 중복된 데이터를 허용하지 않고 map
: 대표적인 문자열(string) 매칭 알고리즘단순하게 모든 경우를 다 비교하면 O(n^2)의 시간이 들 수 있음. KMP알고리즘은 모든 경우를 다 비교하지 않더라도 부분 문자열을 찾을 수 있음.매칭에 실패했을 때 얼마나 점프할 수 있을지를 접두사와 접미사로 알아낼 수
: 출발지 정점을 하나 정해놓고 그곳에서부터 다른 모든 정점으로의 최단 경로를 구함.가장 적은 비용을 하나씩 선택해감 (우선순위 큐): 모든 정점에서 모든 정점으로의 최단 경로를 한번에 구함. 즉, 정점과 정점, 모든 쌍의 최단 경로를 구함.모든 쌍을 표현하는 행렬(이
: c++ 라이브러리가 제공하는 반복자컨테이너에 저장된 원소들을 순회하고 접근해 참조할 수 있다.컨테이너에 저장된 모든 원소들을 전체적으로 훑을 때 사용하며 일종의 포인터와 비슷한 객체라고 할 수 있다.컨테이너와 컨테이너 안의 요소를 구별요소 값 확인컨테이너 안 요소들
📌 stringstream
지역배열로 선언하면 틀리는데 전역 배열로 선언하면 된다?? 🤔
포인터는 메모리의 주소값을 저장하는 변수이다.