Taking baby-developer steps

2022.04.14. push_swap - 정렬부 구현-1 본문

Logs/학습 log

2022.04.14. push_swap - 정렬부 구현-1

Surin Lee 2022. 4. 14. 16:52

이제 스택 a는 index 기준으로 오름차순, b스택은 내림 차순으로 정렬할 차례이다.

사실 오름차순이던 내림 차순이던, middle 값에 가까운 값부터 찾아서 top으로 가져오면 되긴 한다. 이를 어떻게 코드화 시킬지가 좀 문제 이긴한데, 구상 중이다.

 

정렬이 완료되지 않은 부분의 index는 k, k로 부터 middle값이 떨어져 있는 거리를 i index로 표기해서, 해당 값이 tail에 가까운 경우엔 rra로, head에 더 가까운 경우엔 ra로 k위치로 옮긴다.

 

테스트를 위해 만든 테스트 input. 정렬 전 middle을 기준으로 스택 a, b에 나눠져 있는 모습
k, i index 를 이용해 a_stack 오름차순 정렬

sigfault가 발생했다.

n_times_(order) function의 첫번째 호출에서 시그먼테이션 폴트가 발생하는 것으로 보인다.

1.n_times 계열 function의 작동 구현에서 문제가 있다.

2. 넘겨주는 index int에 문제가 있다.

둘중 가능성을 두고 다시 디버깅을 해봐야 할 것 같다.

Comments