void BubbleSort(int DataSet[], int Length, int *cnt1, int *cnt2, int *cnt_compare)
{
int temp = 0;
for ( int i = 0; i < Length - 1; i++ )
{
for ( int j = 0; j < Length - (i + 1); j++ )
{
if ( DataSet[j] > DataSet[j + 1] )
{
temp = DataSet[j + 1];
DataSet[j + 1] = DataSet[j];
DataSet[j] = temp;
*cnt1 = *cnt1 + 1;
if (*cnt1 == 100000000) // 1억단위
{
*cnt1 = 0;
*cnt2 = *cnt2 + 1;
}
}
*cnt_compare = *cnt_compare + 1;
}
}
}
코드는 요따구로 생겼어요.
분명 역순배열일때가 최악이어야하는데 왜 이런결과가 나올까요!
너무 길어서 계산 외적인 시간이 들어간걸까요?
전체 개수를 확 줄여서 비교해보시면 기대한대로 나오지 않을까요?