2012-07-29 3 views
0

안녕 사용자,선택 정렬 배열 비교 스택 오버플로의

나는 많은 배열 비교는 방법 내에서 발생하는 방법을 작동하는 방법을 찾기 위해 노력하고있다. arrayMaxPos 함수는 n-1 비교를 사용하여 크기 n의 배열에서 최대 요소를 찾습니다.

저는이 문제를두고 머리를 쓰려고합니다.

public static void SelectSort(int [] a, int n) 
    { 
    for (int i = n; i> 1; i--) 
    { 
     int maxPos = arrayMaxPos(a, i); 
     swop(a, maxPos, i-1); 
    } 
    } 

대단히 감사합니다.

+0

을 당신이 당신의 선택이 방법에 의해 - 실제 작동이 방법은 배열 정렬 않습니다 - UR 난에서 루프를 실행하는 = n> i> 1이다. – exexzian

답변

0

나는 이것이 ((N-1)^2)/2 비교 일 것이라고 생각한다.

0

코드를 디버깅하거나 단순히 인쇄 문을 두들겨서 자신의 코드를 분석 할 수있었습니다. 과 대답 - 선택 종류 걸릴 N (N - 1)/2 배열 귀하의 외부 루프는 N-1의 반복 복용

+0

아, 감사합니다. 코드 만 제공하고 디버깅 할 수있는 권한이없는 경우에는 어떻게해야합니까? 내 머리를 사용하여 해결할 수있는 방법이 있습니까? – user1028145

+0

@ user1028145 : 위키피디아 페이지의 [이 섹션] (http://en.wikipedia.org/wiki/Selection_sort#Analysis)이 도움이 될 수 있습니다. – Blastfurnace

+0

@ user1028145 디버그 할 수있는 액세스 권한이 없다는 것은 무엇을 의미합니까 ?? IDE를 사용하여 디버깅 할 수 없다면 수동으로 분석하십시오. – exexzian

0

를 정렬합니다. 내부 루프 (arrayMaxPos (...))가 n에서 1로 이동하므로 n/2입니다.

는 다른 답변을 이미 설명 그래서 같이 N (N-1)/2

관련 문제