본문 바로가기

C++47

C++ 자료구조 - List List - 더블 링크드 리스트로 구현되어 있다. - 더블 링크드 리스트의 장점을 그대로 가져오며 중간에 삽입/삭제가 빠르다. - 하지만 특정 원소에 접근하려면 선형탐색을 해야한다. 상호 포인터 정보를 가지고 있기 때문에 메모리 사용비율이 높다. 1. 사용 - #include - list [변수 이름]; - list l1; 2. 생성자와 연산자 - list lt; - 비어있는 list lt를 생성 - list lt(5); - 0으로 초기화 된 5개의 원소를 가지는 list를 생성 - list lt(5,2); - 2으로 초기화 된 5개의 원소를 가지는 list를 생성 - list lt2(lt1); - list lt1을 lt2로 복사 3. list의 멤버함수 - lt.assign(5,2); - 2의 값으로 .. 2020. 6. 19.
C++ 자료구조 - Vector Vector - 배열인데, 동적으로 크기를 확장 또는 축소가 가능하게 되어있는 자료구조(크기조절 시 오버헤드 큼) - 역시 배열의 특징을 그대로 가져온다. 데이터의 위치를 알고 있으면 랜덤 엑세스가 가능하다. - 하지만 중간에 데이터를 삽입 또는 제거하려면 땡기거나 밀어야 되는 단점도 그대로 가지고 온다. - 하지만 끝부분에 삽입할 땐 빠름 1. 사용 - #include - vector [변수이름] 2. 생성자와 연산자(int로) - vector v; - 비어있는 vector v를 생성 - vector v(5); - 0으로 초기화 된 5개의 원소를 가지는 vector v를 생성 - vector v(5,2); - 2으로 초기화 된 5개의 원소를 가지는 vector v를 생성 3. 멤버 함수 - v.assi.. 2020. 6. 19.
C++ 자료구조 정리 1. LIST - 더블 링크드 리스트로 구현되어 있다. - 더블 링크드 리스트의 장점을 그대로 가져오며 중간에 삽입/삭제가 빠르다. - 하지만 특정 원소에 접근하려면 선형탐색을 해야한다. 상호 포인터 정보를 가지고 있기 때문에 메모리 사용비율이 높다. 2. Stack 3. Queue 4. Vector - 배열인데, 동적으로 크기를 확장 또는 축소가 가능하게 되어있는 자료구조(크기조절 시 오버헤드 큼) - 역시 배열의 특징을 그대로 가져온다. 데이터의 위치를 알고 있으면 랜덤 엑세스가 가능하다. - 하지만 중간에 데이터를 삽입 또는 제거하려면 땡기거나 밀어야 되는 단점도 그대로 가지고 온다. - 하지만 끝부분에 삽입할 땐 빠름 5. Deque(덱) - LIFO, FIFO 두 가지 방식을 다 사용할 수 있는.. 2020. 6. 19.
C++ 287. Find the Duplicate Number(Leet Code) Leet Code_287. Find the Duplicate Number https://leetcode.com/problems/find-the-duplicate-number/ 문제 해석 이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다. 목표 배열안의 중복된 숫자 찾기 ​ 방법 1. 배열안의 중복된 숫자 찾기 결과 배열안의 중복된 숫자 찾기 통과한 코드 class Solution { public: int findDuplicate(vector& nums) { std::map m; std::map::iterator it; for(int i = 0 ; i < nums.size() ; i++) { it = m.find(nums[i]); if (it == m.end()) { m.insert ( std::pa.. 2020. 6. 18.