목록C++ (4)
코딩하기 좋은날
저는 평범한 대학생입니다. 잘못된 부분이 있다면 알려주시면 확인 후 바로 수정하겠습니다. 오늘은 C++의 STL 컨테이너 구조중 list와 multimap 에 대해서 알아 보겠습니다. 1.list -list 컨테이너는 Double linked list인 이중 연결 리스트로 구현 되어 있습니다. - 헤더파일을 추가하면 사용이 가능합니다. - 기본적인 연산들은 vector와 비슷하지만 list 구조는 양방향으로 삽입 삭제가 가능합니다. - list는 각각이 포인터로 연결되어 있어 at이나,[] 사용이 불가능하고 iterator를 통한 방식으로만 접근이 가능합니다. - list는 기본적으로 array와 달리 삽입과 삭제에 있어서 굉장히 효율적입니다. 따라서 그러한 작업이 많이 존재 할 때 사용하시면 좋습니다...
저는 평범한 대학생입니다. 잘못된 부분이 있다면 알려주시면 확인 후 바로 수정하겠습니다. 오늘은 C++에서 자주 사용되는 클래스인 Pair 클래스에 대해서 소개하려고 합니다. Pair Pair의 뜻처럼 STL에서 데이터 '쌍'을 표현할 때 사용이 됩니다. 헤더파일에 존재하고 있으며, 보통 다른 STL컨테이너와 함께 사용이 되는데 그럴 때는 다른 STL의 헤더에 포함이 되어 있으므로 따로 선언 해주지 않아도 됩니다. 선언 방식은 pair p; 의 형태로 클래스를 선언하며 앞의 글에서 map에 insert 할시 make_pair 함수를 이용한 적이 있는데 p = make_pair(변수1, 변수2); 의 형태로 변수1과 변수2가 들어간 pair를 p에 넣을 수 있습니다. 첫번째 변수에 접근 할 때는 p.fir..
저는 평범한 대학생이므로 내용 중 틀린 부분이 있을 수 있습니다. 알려주시면 확인 후 바로 수정하겠습니다. -이번에는 우선순위 큐와 집합에 대해서 알아 보겠습니다. 4.우선순위 큐 (heap) -우선 순위 큐는 스케줄이나 달력 같은 것을 관리하기 위한 용도로 사용됩니다. 예를 들어 공항이나 주차장에서 어떤 것이 다음 순서가 될지를 결정하는 것과 같이 시간에 맟춰서 계획을 짜야 하는 경우에는 항상 우선 순위 큐를 사용한다고 볼 수 있습니다. -우선 순위 큐를 구현하는 가장 대표적인 방법은 이진 힙을 이용하는 방법이며, 이진 힙은 하향식이든 상향식이든 상관없이 효율적 관리가 가능합니다. 힙은 효율적이긴 하지만 시간이 촉박한 경우에는 제대로 만들기 까다로우므로 삽입 작업을 많이 하지 않는 경우에는 정렬된 배열..
저는 평범한 대학생이므로 내용중 틀린부분이 있을 수 있습니다. 알려 주시면 확인 후 바로 수정하겠습니다. -오늘은 C++ STL에서 자주 사용되는 기본적인 5가지 컨테이너 구조에 대해 알아보겠습니다. 1.스택(stack) -스택은 LIFO(last-in-first-out) 후입선출 규칙을 따르는 구조입니다.(마지막에 들어간 항목이 가장 먼저 나오는 자료구조) 접시를 새로 씻고 나면 접시는 스택 맨 위에 추가되고 접시를 사용 할 때는 맨 위에 있는 새 접시를 사용 한다고 생각 하시면 될 것 같습니다. -연산 push(x) x라는 항목을 스택 맨 위에 삽입 pop() 스택 맨 위에 있는 항목을 삭제 empty() 스택이 비어있는지를 확인 후 true,false 값을 반환 size() 스택에 들어있는 원소의 ..