어제 스파이럴 문제 질문했는 사람입니다
지금 어찌저찌 convex hull 부분으로 검색해보고 소스짜보고있습니다
다름이 아니고 지금 난관에 부딪힌게.... convex hull로 얻은 좌표들을 제외하고 나머지 좌표들을 얻는 점이 문제입니다
대략 소스를 간추려서 표현하자면 이렇습니다
for(int i=3; i<copy_list.size(); i++)
~~~ convex hull 에서 counter clockwise 비교해서 스택에 집어넣는과정
while(!st.empty()){
POINT tmp = st.top();
st.pop();
cout << " (" << tmp.x << ", " << tmp.y << ")" << endl;
}
지금 이단계까지, 그러니까 가장 바깥쪽 부분만 1번 돌아서 경로 얻는걸 실행했는데요
이걸 이제 남은 좌표들이 없을때까지 반복하려고 합니다 근데..
vector로 만든 copy_list에서 stack에 있는 요소들을 제거하고 남은 좌표들만 가진 vector로 만들고 싶어요
vector는 요소 제거를 erase() 로 하던데, stack에서 pop할때마다 하나하나 비교해서 copy_list에서 제거하는게 맞는 방법일까요?