2014-07-08 4 views
0

I 연결리스트 클래스가 있습니다스토어

template <class T> class List { 
    private: 
    struct node { 
     T info; 
     node* next; 
     node* prev; 
    }; 
    int length; 
    node* first; 
    node* last; 
    ... 
} 

을 그리고 난이 증가 또는 rhem 성병에 동일한 수의 저장의 하위 목록을받는 함수를 추가해야합니다 : :벡터. 예 : 목록이 (1, 2, 3, 2, 3) 인 경우 v [0] = (1, 2, 3), v [1] = (2, 3, 3). 나 자신에게 해결책을 발견했다,하지만 난 v.push_back을 사용했다

void parts(std::vector<List>& v) {} 
/* Pre: v.size() == 0 
* Post: The original list is empty, v.size() = number of sublists, 
* v[i] is the ith sublist */ 

() 벡터에 모든 하위 목록을 추가 할 수 있지만, 선생님은 내가 그것을 사용할 수 없습니다 말했다 함수의 헤더입니다 push_back() 없이는 어떻게하는지 모르겠습니다. 감사합니다. .

+1

선생님은 바보입니다에 대한 유효한 반복자를 대체 할 수 있습니다. –

답변

0

벡터에 추가/초기화 할 수있는 다른 방법이 있습니다. 당신은 하나, 목록에서 그것을 반복자의 범위를 전달할 수 있습니다

vector<int> v(list.begin(), list.end(); 

당신은 [시작, 끝)