저는 C++을 처음 사용하고 있으며, 언어에 익숙해 지도록 병합 정렬을 구현 중입니다. 현재C++에서 목록의 일부를 반복합니다.
나는 정수의 목록을 가지고 있고 2 개 하위 목록을 작성하고 '왼쪽'라는 이름의 목록에 원래 목록의 첫 번째 절반을 저장하기 원하는리스트로 나머지 절반은 '권리'
전 이름 : 원래 목록 데이터가 16, 24, 56, 12, 89라고 가정합니다. 이 목록을 반복하여 16, 24를 새로운 하위 목록 '왼쪽' 에 추가하고 하위 목록 '오른쪽'에 56, 12, 89를 추가하십시오. 이렇게 남겨두면 [16, 24] 이되고 오른쪽은 [56 , 12, 89]
여기에 지금있는 코드가 있습니다. if 조건문에 어떤 조건을 써야합니까? 이 작동 할
list<int> left, right;
int midpt = l.size()/2;
for(listIt = l.begin(); listIt!= l.end(); listIt++){
if() left.push_back(*listIt);
if() right.push_back(*listIt);
}
그냥 병합 부분을 구현하려하지 않으시겠습니까? 시작하지 않는 것이 좋은 경우 – aaronman