프로그래밍/Data Structure
[자료구조] Find_if
[자료구조] Find_if
2013.08.09class StuFun { int num; public: void set(int _num) { num = _num; } bool operator()(Stu *stu) { return num= stu->GetNum(); } } //1 void main() { Stu *s = new Stu(6,"홍길동"); StuFun sf; sf.GetNum(6); if(sf(s)) } //2 typedef vector::Iterator SIter void main() { vector *mv = new vector; mv->push_back(3,"홍길동"); mv->push_back(5,"황태주"); mv->push_back(6,"정기성"); StuFun sf; sf.set(5); SIter seek = find_if(m..
[자료구조] Vactor - Reserve()함수
[자료구조] Vactor - Reserve()함수
2013.08.09reserve()함수를 이용하여 메모리 공간(capacity)만 미리 확보하는 것입니다. 메모리 공간(capacity)은 미리 확보했으므로 push_back()함수를 호출해도 메모리 재할당이 발생하지 않습니다.
[자료구조] Vector의 정의
[자료구조] Vector의 정의
2013.08.09vector의 중요한 특징 중 하나가 연속 메모리 기반 컨테이너이므로 요소가 추가될 때 메모리가 자라난다는 것입니다. 추가될 때마다 메모리가 자라난다는 것은 메모리를 재할당해야(메모리의 크기를 늘려야 하므로) 한다는 것을 말합니다. 그래서 너무 비효율적으로 메모리 재할당되는 것을 막기 위해 요소가 추가될 때마다 메모리를 늘리지 않고 미리 여유 메모리 공간을 확보합니다.(여유 메모리의 크기를 늘리는 정책은 컴파일러마다 조금씩 다릅니다. 우리는 VS2008을 사용합니다.) 출처 : http://blog.daum.net/coolprogramming/77
[Data Structure] 컨테이너의 종류
[Data Structure] 컨테이너의 종류
2012.02.14① 시퀀스 컨테이너(Sequence Container) : 자료의 선형적인 집합이며 자료를 저장하는 기본 임무에 충실한 가장 일반적인 컨테이너이다. 삽입된 자료를 무조건 저장하며 입력되는 자료에 특별한 제약이나 관리 규칙은 없다. 사용자는 시퀀스의 임의 위치에 원하는 요소를 마음대로 삽입, 삭제할 수 있다. STL에는 벡터, 리스트, 데크 세 가지의 시퀀스 컨테이너가 제공된다. ② 연관 컨테이너(Associative Container) : 자료를 무조건 저장하기만 하는 것이 아니라 일정한 규칙에 따라 자료를 조직화하여 관리하는 컨테이너이다. 정렬이나 해시 등의 방법을 통해 삽입되는 자료를 항상 일정한 기준(오름차순, 해시 함수)에 맞는 위치에 저장해 놓으므로 검색 속도가 빠른 것이 장점이다. 표준 STL..