C++/summary 70

STL - Map || Stack

·Map은 사전과 같은 자료 구조 ·키(key)가 제시되면 Map은 값(value)을 반환한다 map ( string(키 타입), string(데이타 타입) ) map dic; dic["boy"] = "소년"; 문장을 받아서 단어의 갯수를 파악한다 map을 이용. #include #include #include using namespace std; void main(){ map table; string s; cout> s; table[s]++; if(cin.eof()) break; table[s]--; } map ::iterator it; for(it= table.begin(); it != table.end(); it++) { cout

C++/summary 2010.10.25

리스트

·외부에서 보면 벡터와 동일 ·이중 연결 리스트로 구현 논리적으로는 순차적이지만, 물리적으로는 아니다. -> 왜 쓰냐?? 배열은데이타를 중간에 넣으면 자리이동을 해야되서 연산 속도가 느려진다. 그리고 1번을 지우면 2,3번을 다시 채워주고 해야되서 느려진다. 리스는 삽입 삭제가 빠르다. 하지만 랜덤접근이 불가능하다. it != it.end(); 마지막이 아닐수도 있기 때문에 이런식으로 한다.

C++/summary 2010.10.13

순차 컨테이너

·벡터 == 동적 배열 == 스마트 배열 ·템플릿으로 설계 ->클래스로 구성되어 자료 구조를 가지고 또한 연산을 가지고 있어 편리하다. 벡터의 예제 ·push_back() ·새로운 데이터를 벡터의 끝에 추가하고 벡터의 크기를 1만큼 증가 -> 자동적으로 사이즈가 증가한다. ·pop_back() ·벡터의 끝에서 요소를 제거하고 벡터의 크기를 하나 감소 -> 사이즈를 선언하지 않고 벡터를 생성 가능하다. 동적 생성이 가능해서. ㅇㄹ

C++/summary 2010.10.13

STL ( 표준 템플릿 라이브러리 ) C++ 중요 라이브러리 || 순차 컨테이너

·STL: 표준 템플릿 라이브러리(Standard Template Library)의 약자로서 많은 프로그래머들이 공통적으로 사용하는 자료 구조와 알고리즘에 대한 클래스 -> 이런 3가지 요소를 가진다. 컨테이너 ( 자료구조 ), 알고리즘( 함수 ), 반복자 ( 표준화 되게 접근가능 하도록 ) ·컨테이너(container) ( 클래스 템플릿 ) ·자료를 저장하는 구조이다. ·벡터, 리스트, 맵, 집합, 큐, 스택과 같은 다양한 자료 구조들이 제공된다. ·반복자(iterator) ·컨테이너 안에 저장된 요소들을 순차적으로 처리하기 위한 컴포넌트 ·알고리즘(algorithm) ( 함수 템플릿 ) ·정렬이나 탐색과 같은 다양한 알고리즘을 구현 순차 컨테이너 ( 배열같이 ) 연관 컨테이너 ( DT가 트리구조로 검..

C++/summary 2010.10.13

클래스 템플릿

· 클래스 템플릿(class template): 클래스를 찍어내는 틀(template) 이런식으로 구현이 가능하다. 함수와의 차이는 함수는 하나에 대해서만 했지만, 클래스는 변수나 함수등 여러개를 정의한다. 사용시는 Box b 원래 이렇게 인스턴스 하지만 템플릿클래스는 Box b 로 사용해야한다. 미리 int 형이라고 알려주어야 하기 때문이다. 만들일은 잘 없지만, 많이 사용해야 하기 때문에 잘 알아두어라. 클래스 외부에 정의 2개의 타입을 가지는 템플릿 클래스

C++/summary 2010.10.11