해결된 질문
작성
·
220
0
안녕하세요, 이제 뭔가 뚝딱뚝딱 해야 할것들이 늘어나는 것 같아서 점점 재밌어지네요. 머리도 복잡한건 덤 :)
교수님이 먼저 진행 하시기 전 먼저 구현을 해보라고 했을때 코드 짜본건데 결과적으로는 잘 정렬이 되었습니다. 혹시나 해서 배열 크기를 10으로 잡고 했는데도 결과는 1~10까지 오름차순 으로 잘 되었는데요, 교수님이 하신거랑 제가 한거랑 비교했을 때 차이가 크더라구요. 혹시 이것도 제대로 선택 정렬을 한 것이라 봐도 될까요? 디버깅으로 찍어봐도 제가 지금 헷갈려서 그런건지 이해가 좀 어려운것 같아요.
아래쪽 코드는 내림차순으로 나온건데 같이 첨부해 봅니다. 감사합니다.
const int length = 5;
int array[length] = { 3, 5, 2, 1, 4 };
cout << "current array: ";
printArray(array, length);
int swap = 0;
for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
if (array[i] < array[j])
{
swap = array[i];
array[i] = array[j];
array[j] = swap;
}
//cout << array[j] << " ";
}
printArray(array, length);
}
// 5 4 3 2 1
/*for (int i = 0; i < length; i++)
{
for (int j = 0; j < length; j++)
{
if (array[i] > array[j])
{
swap = array[j];
array[j] = array[i];
array[i] = swap;
}
cout << array[j] << " ";
}
cout << endl;
}*/
넵 그래서 선택정렬 코드보단 좀 더 비효율적입니다 ㅠㅠ i의 뒤에꺼랑만 비교해나가면 되는데 전부 다 비교해서요!