2010-04-16 3 views
0
Vector<int> v; 
int i=0; 
while(i!=999) 
{ 
    cin>>i; 
    v.push_back(i); 
} 

입력 개수가 다를 때이 코드의 시간은 달라질 수 있습니다. 벡터는 새로운 할당을 위해 상각 된 시간이 걸릴 것입니다. 동일한 크기의 프로그램이라도 다른 시간에 다른 시간이 걸릴 수 있습니다.시간을 변경하기위한 변경 제안 입력 크기의 함수

제안 사항 (예 : 벡터 대신 목록 사용)은 시간을 입력 횟수의 함수로 만듭니다.

+0

질문에 대한 답을 얻은 것 같습니다. "입력의 수가 달라지면이 부분에 걸리는 시간이 달라질 수 있습니다." 그리고 나서 "시간을 입력 횟수의 함수로 만드십시오." 그것은 이미 많은 입력의 함수입니다. 너 스스로 그렇게 말했다. –

답변

0

벡터를 사용하는 현재 버전에서 시간은 이미 입력 수와 사용자가 각 값을 입력하는 데 걸리는 시간의 함수입니다.

이 경우, cin에 의해 수행되는 입출력은 컨테이너 유형에 항목을 추가하는 것보다 훨씬 비용이 많이 들며 컨테이너 유형이 거의 확실하게 중요하지 않습니다. 삽입을 위해 컨테이너 유형을 최적화하는 대신, 실제로 필요한 속성을 제공하는 컨테이너를 고려하십시오.