2013-10-30 1 views
0

저는 C++을 처음 접했을 때 대기열을 만드는 방법에 대해 혼란 스럽습니다.C++에서 Queue를 만들려고한다면 특정 크기의 Queue를 어떻게 만들 수 있습니까?

생성자의 경우 대기열 길이를 허용해야합니다. 대기열의 길이는 피보나치 수가 아닌 경우 주어진 길이보다 큰 가장 가까운 피보나치 수이어야합니다. (예 : 생성자에 10이 지정되면 길이를 13으로 만듭니다).

지금 큐를 배열로 구현하고 있습니다. 내 머리글의 사적인 부분에 int queueContents[];과 같은 것이 있으면 생성자에서 가장 가까운 피보나치 수로 설정하십시오.

전체 파일에서 사용하도록 선언하고 생성자에서 길이를 설정하는 방법은 무엇입니까?

+1

배열로 유지 하시겠습니까? 목록을 사용하고 크기 변수로 입력을 제한 할 수 있습니다. – ChiefTwoPencils

+0

불행히도 배열을 사용하는 할당 상태입니다. –

답변

1

다음과 같은 경우 (크기 추적 글로벌 변수가됩니다 ..이 용량을 초과하는 경우 확인, 가장 가까운 피보나치 수를 계산 한 다음 변수 capacity을 가지고 매번 당신은 대기열에 삽입 할 수 있습니다 효율성을 위해서 자라야합니다.)

ArrayQueue(int sz) 
{ 
    size = getFib(sz); 
    queueContents = new int[size]; 
    //set front and back to initial value 
} 

getFib(int sz) {...} 

예, 글로벌 변수 int *queueContents이 필요합니다. (포인터 선호).

추가 질문은 언제든지 가능합니다. 나는 최근에 기본적인 배열 기반의 큐를 코딩해야했다. (잘하면) 나는 당신이 가질 질문에 대답 할 수있다. :)

0

당신은

관련 문제