차이점 또는 차이가 있는지 여부는 문자 그대로 인지 이해할 수 없었습니다. 그런데 함수는 파티션에 사용되는 함수입니다. 내가 이것을 묻는 이유는 병합 정렬을 구현하고 있기 때문에 그 아래 첫 번째 기능이 작동하지 않기 때문입니다. 둘 다 쓴다. 그러나 나는 왜 처음이 작동하지 않는지 이해할 수 없다.이 두 파티션 함수의 차이점
첫 번째 기능;
vector<int>partition(vector<int>vec,int start,int finish)
{
vector<int>list;
for(int i=start;i<finish;i++)
list.push_back(vec[i]);
return list;
}
번째 함수;
vector<int>partition(vector<int>vec,int start,int finish)
{
vector<int>parted;
int size=finish-start+1;
for(int i=0;i<size;i++)
parted.push_back(vec[i+start]);
return parted;
}
''에는'std :: partition'이 있습니다. 당신이 쓰려고 노력하는 것보다 더 잘 작동 할 것이라고 거의 보장 할 수 있습니다. –
chris
그들은 내게 거의 비슷하게 보입니다. 아마 당신은'i <= finish'를 원할 것입니까? – jli
@chris 저는 실제로 파티션 기능을 찾지는 않았지만이를 염두에 두겠습니다. 고맙습니다! – Ali