버블정렬은 첫번쨰 원소부터 비교를 시작하자나요
근데 배열을 받아들여서 그 원소중 랜덤한 원소를 선택해서
그 원소부터 버블정렬을 하고싶거든요?
그래서 라운드를 계속 돌면서 완벽히 오름차순으로 정렬이 되게하는
최소의 라운드 횟수를 찾고싶어요
예를들면
5 1 2 3 4 면 재수좋게 5를 골랐을 경우
한 라운드로 정렬이 완료되니까 답이 1 이 나오게요 ㅇㅇ
지금
int cur_count = 0; //라운드 카운트;
int ridx;//랜덤 요소인덱스
bool sorted = false;
srand(time(NULL));
//bubble sort variation
for (int i = n - 1; i > 0; i--)
{
ridx = (int)rand() % n;
for (int j = ridx; j < i; j++)
{
if (array[j] > array[j + 1])
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
cur_count++;
}
모르겠어요 ㅜㅜ뭘고쳐야 될까요
댓글 0