ljh5294   3년 전

우선 시간복잡도는 무시하고 풀어보고었습니다.

어느 부분에서 오류가 있어서 swap이 잘 안되는 걸까요.

그리고 출력부분에서 주소값이 나올 떄가 있던데 왜 그런걸까요. 전체적인 오류에 조언좀 부탁드립니다

indiaink10   3년 전

15번째 줄의 범위 때문입니다.

djm03178   3년 전

주소값처럼 보이는 건 사실은 주소값이 아니고 메모리를 할당받을 때 그 위치에 원래부터 들어있던 쓰레기값입니다.

dldyddlwl   3년 전

이중 for 루프에서, i와 j를 잘 설정해놓으시고, 밑에서는 잘못 쓰고 계셔서 그렇습니다.

만약에 

2

1 1

1 1  이라는 예시에 대해서,

이중 for루프가 시작할 때, 

i = 0 이고, j = i + 1 = 1 입니다. 이 때, if문 우항에서 array[j+1] = array[2], 인덱스를 벗어나 이상한 값이 나오게 됩니다. ( 주소값이라고 생각하셨던 값, 실제로는 쓰레기값 )

아마 의도하신건,     array[i] 와 array[j]의 비교가 아니셨는지요?

ljh5294   3년 전

감사합니다!! 아무생각없이 외운느낌으로 정렬을 하고있었네요 감사합니다!

댓글을 작성하려면 로그인해야 합니다.