
C#의 Collection에 속한 List 에 관한 글입니다. 완벽한 성능분석이 아닌, C++에서 사용한 Vector의 간단한 사용법과 비교하면서 같이 중요하고 주로 사용했던 부분들에 대한 정보를 공유하고자 글을 작성하였습니다. 이 글은 C++의 STL을 다룰 줄 아시는 분 or 사용해본 경험이 있다는 것을 전제로 작성하였습니다. 글은 MS의 MSDN을 참고했고, 틀린부분은 댓글을 달아주시면 확인 후 수정하도록 하겠습니다. :) 1. List의 특성 C++의 Vector와 상당히 비슷합니다. 배열인데 동적으로 메모리를 관리해주고.. 자유롭게 삽입 삭제했다가 정렬도 할 수 있습니다. 특별하게 사용했던 것은,, Serialization을 할 때 유용하게 사용했던 것 같습니다. 어떤 클래스에 담긴 데이터들을 ..

0. Flow chart 이런 개발 쪽에서 가장 중요한 Flow chart(순서도)부터 정의해봅시다. 진~~~ 짜 핵심적인 부분만 간단하게 하면 위의 순서도와 같다. 이거보다 더 단순하게 하기는 어려울 것 같다. 물론 저 순서도에서 박스 하나하나 마다 안에 코드는 많지만 크~게 보자면 위의 순서도와 같겠다. 전체 코드를 설명하기보다는 이 전 포스팅의 https://kibbomi.tistory.com/161 [C++ / 2인용] 테트리스 개발 ( Class 부분 ) 학부 2학년 1학기 때 만들었던 테트리스.. 몇 년이 지나 이제야 올려봅니다. 가장 처음, 어떤 기능을 가진 Class들을 정의할 것인지 봐야 한다. GUI는 적용하지 않고 Console환경에서 실행할 것이다. Cl kibbomi.tistory..
학부 2학년 1학기 때 만들었던 테트리스.. 몇 년이 지나 이제야 올려봅니다. 가장 처음, 어떤 기능을 가진 Class들을 정의할 것인지 봐야 한다. GUI는 적용하지 않고 Console환경에서 실행할 것이다. Class는 간단한 것에서부터 복잡한 거 순서대로 설명하겠습니다. 1. Point Class 흔히 PS에서도 접해볼 만한 Point Class. 배열의 y, x를 다루는데 class형태로 만들어서 조금 부가적인 기능을 더 해준 형태라고 보면 된다. #ifndef KIBBOMI_POINT #define KIBBOMI_POINT ///배열의 좌표, Console화면의 좌표를 설정 class Point { public: Point(int x = -1, int y = -1); int GetX() cons..

여러 가지에 사용되는 Set 컨테이너에 대해서 알아보겠습니다. Set에 대한 정보는 C++ Reference를 참고했습니다. 1. Set의 특성 Set은 Unique한 원소들을 특별한 순서에 따라 저장하는 컨테이너입니다. 여기서 Unique한 원소들은 정수를 예를 들면, 1이라는 원소는 Set 컨테이너 안에 단 1개(Unique)만 있을 수 있음을 의미합니다. Set안에 한 번 삽입한 데이터는 수정할 수 없습니다. 하지만 Insert, remove를 통해서 삽입 제거는 할 수 있습니다. Set은 보통 이진 탐색 트리로 구현되어 있습니다. 마지막으로 원소는 컨테이너 내에서 절대적인 위치로 존재하는 것이 아닌 키에 의해서 서로서로 연관되어 위치해있다.(정렬 규칙에 의해 상대적인 위치에 있음. 즉, 서로 연관..

C++의 String class에 대해서 분석해본 내용입니다. C++ reference를 참고하였습니다. 1. String의 특성 우선 C++ String class는 STL에 속하지는 않습니다. 그냥 라이브러리에 있는 표준 클래스입니다. String은 연속적인 문자를 담을 수 있고 원소 각각은 char로 되어있습니다. 그리고 Vector와 같이 Random Iterator를 지원한다는 점이 특징입니다. 2.String의 구성 String은 알고리즘에서 막~ 다뤄본 경험이 조금 없어서 중요해 보이는 것이나, 필요에 따라서 하나하나 모두 살펴보겠습니다. 2.1) 생성자 생성자에 관한 설명은 C++ reference에 아주 잘 나와있습니다. (코드 예제도 이번에는 C++ reference에서 가져왔습니다.)..

BFS에 자주 사용되는 Queue (알고리즘 문제풀이 기준), 그리고 정렬에 자주 사용되는 Prioriry Queue(우선순위 큐, 힙)의 사용법에 대해서 알아보도록 하겠습니다. ( Queue에 대한 정보는 C++ Reference를 참고했습니다.) 1. Queue의 특성 Queue는 FIFO입니다. FIFO는 First in First out으로, 먼저 들어온 것이 먼저 나갑니다. 그냥 마트나, 뭐 놀이기구 탈 때 줄 서는 거랑 똑같다고 생각하면 됩니다. 먼저 오는 사람이 탈출구에서 가장 가깝고 먼저 서비스 받음을 알 수 있습니다. template을 보면, template class queue입니다. queue도 stack과 마찬가지로 내부적으로는 deque로 구현되어 있습니다. 그래서 queue의 메..