안녕하세요.
이미 보셨을 것 같은데요.
다음 강좌를 먼저 살펴보세요.
merge[k] = first[i];
k++;
i++;
위 세 줄을 한 줄로 줄인 코드가 다음 코드입니다.
merge[k++] = first[i++];
병합 정렬 알고리즘은
이미 정렬된 두 개의 배열을 합쳐서 그 결괏값도 정렬된 형태로 나오는게 목적입니다.
제가 책에도 썼지만,
12개 알고리즘은 공식과 같은 알고리즘이기에,
수학 공식 암기 형태로 익혀두시면 좋습니다.
그리고, Visual Studio 2022에서 F11번 계속 반복하면서 실행해보시면 코드 흐름을 익히는데 도움이 되실 겁니다.
감사합니다.
On 2022-03-15 오후 2:28:00, '박정수' wrote:
안녕하세요 C# 교과서로 독학중인 학생입니다.
다름이 아니라 C# 교과서 443페이지에서
While(i<M && j<N)
{
if(first[i] <= second[j])
{merge[k++]=first[i++]} <- 이부분에서 []안에 k++와 i++가 들어가면 k와 i가 들어갈때와 무엇이 다른가요?
While(i<M && j<N) 부분을 While(i<M) While(j<N) 뒤쪽으로 보내면 1,3,5,2,4라는 결과가 나오는데 왜 그렇게 나오는지 잘 이해가 되지 않습니다. 알려주시면 감사하겠습니다!