0
임의의 점 집합 그래프에서 가장 왼쪽 점을 찾으려고합니다. 예를 들어, 점 (3, 5) (5, 2) (8, 7) (1, 3) 중에서 가장 왼쪽 점은 1, 3이됩니다. 이 작업을 수행하면 벡터의 자리 0에 가장 왼쪽 지점을 놓아야합니다. mostLeft가 원래있는 지점을 모르기 때문에 두 변수를 전환하는 데 문제가 있습니다. mostLeft는 2 개의 int를 포함하는 노드입니다.벡터에서 두 값 교환하기
나는 mostLeft 두 번
swap(list[0], mostLeft)
하지만 단지 사본을 사용하여 시도했다.
는 또한Point temp = list[0];
list.erase(remove(list.begin(), list.end(). mostLeft), list.end());
list[0] = left;
list.push_back(temp);
을 시도했지만이 나에게 "제거 인수에 const를 숯불 *에 벡터를 변환 할 수 없습니다"라는 오류를 제공합니다. 나는 온라인에서 두 번째 코드 블록을 얻었다. 나는 그것이 어떻게 작동하는지 확신 할 수 없다. 그러나 나는 그것을 시험해 보았던 것을 계속 보았다.
이 값을 쉽게 바꿀 수있는 방법이 있습니까? 아니면 수동으로 벡터를 반복하고 값을 찾아야합니까?
, 그 코드도 컴파일입니다 , bein()'또는'list.end(). mostleft'는 당신이 사용하고 있거나 사용하려고 시도하고있는 어떤 것으로부터 가져 오지 않을 것입니다. –
@mhemmy 스왑 (list [0], mostLeft)에서 mostLeft를 사용하는 방법이 명확하지 않습니다. –
'mostLeft'는 참조가 아닌 것 같습니다. – MSalters