전체보기
-
원형 큐(Circular Queue) 제작프로그래밍 2013. 3. 30. 15:29
큐는 데이터를 삽입할 때 뒤쪽인 tail 쪽에 삽입을 하고 읽을 땐 head부터 읽는 FIFO(First In First Out) 구조의 자료형이다. 이와 같은 구조의 큐를 선형 큐라고 한다. 선형 큐는 데이터를 삭제(pop)할 때마다 head가 뒤로 밀려 앞에 공간이 남아있음에도 불구하고 데이터를 삽입할 수 없는 문제가 발생한다.[출처] 원형큐|작성자 since860321 이러한 큐의 단점을 개선한 것이 원형 큐이다. 이 가득찬 원형 배열의 데이터를 차례대로 읽은 후, 데이터를 삽입을 하려고 한다면 다시 1의 자리에부터 데이터가 채워지게 구현을 하면 될 것이다. bool push( const T& data ) { ... if( tail == 배열의 크기 ) { tail = 배열의 처음; } ... }
-
-
C++ 구조체 멤버를 숨기는 기법 Pimpl프로그래밍/c++ 2013. 3. 28. 09:42
1 // 헤더 파일 // 2 3 class Pimpl 4 { 5 public: 6 Pimpl(void); 7 ~Pimpl(void); 8 9 protected: 10 struct Pim; // 맴버변수의 구조체 전방선언 11 Pim* pimpl; // 전방선언한 멤버의 포인터 12 }; 13 14 // CPP 파일 // 15 #include 16 17 struct Pim // 구조체 이름은 전방선언과 같은 이름으로! 18 { 19 int a; 20 int b; 21 int c; 22 //...멤버변수들 선언 23 } 24 25 Pimpl::Pimpl( void ) 26 { 27 pimpl = new Pim; // 생성자에서 멤버 변수에 할당을 함 28 } 29 30 ... 31 32 ~Pimpl::Pim..