2013-03-30 2 views
-1

그래서 정렬 방법을 비교하고 각 알고리즘이 수행하는 비교 횟수 및 복사본 수를 계산해야하는이 할당이 있습니다. 이미 정렬 방법을 만들었지 만 만든 적이 없습니다. 전에 카운터. 내 질문은 어떻게 카운터를 선언하고 코드를 어디에 넣을 것인가?정렬 방법의 스왑 계산

죄송합니다. 지금 당황 스럽습니다. 나는 자바를 사용하고있다.

은 내가

+3

사용중인 언어와 어떻게 시작해야한다고 생각하는지 말해야합니다. –

+0

ok 제가 편집했습니다. 감사합니다. – Clueless

+0

아마도 하나의 정렬 유형에 대한 정렬 코드를 표시 할 수 있다면 카운터를 놓을 최적 위치를 제안 할 수 있을까요? 정렬 코드를 작성하고 비교하는 단계에 있다면 '스왑'및 '비교'연산에 카운터를 삽입하는 것이 어려울 수 있습니다. – Simon

답변

0

는 독립적 인 클래스에 정렬 알고리즘을 유지 구문에 내가 조금 잃었어요 스왑 또는 비교하기 전에 ++ 카운터처럼 둘 것입니다 알고, 당신의 주요 응용 프로그램에서 별도의 유지. 카운터는 해당 클래스의 필드 변수가 될 수 있습니다. 그렇게하면 정렬을 실행하고 수집 한 메트릭을 검색하여 후속 조치를 취할 수 있습니다.

MySortAlgorithms sorter=new MySortAlgorithms(); 
ArrayList example=sorter.quickSort(ArrayList arr); 
System.out.println("Swaps=" + sorter.getSwapCount()); 
0

카운터는 클래스의 간단한 정적 변수가 될 수 있습니다. 그렇지 않니? 스왑을 원할 때마다 그냥 추가하십시오.

Class ObjectToBeSorted{ 
    static int numberOfSwaps; 

    public static increment swap(){ 
    numberOfSwaps++ 
    } 

    public static clearSwaps(){ 

     numberOfSwaps = 0; 
    } 


}