인프런 커뮤니티 질문&답변

danc님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C++

6.4 배열과 선택 정렬 selection sort

이것도 선택정렬 이라고 볼 수 있나요?

해결된 질문

작성

·

219

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;
		}*/

 

 

답변 1

0

danc님의 프로필 이미지
danc
질문자

+추가 다른분들 질문들을 보니 이 방식이 선택정렬 은 아니고 그냥 다 도는 방식이었군요 ㅠ 

넵 그래서 선택정렬 코드보단 좀 더 비효율적입니다 ㅠㅠ i의 뒤에꺼랑만 비교해나가면 되는데 전부 다 비교해서요! 

danc님의 프로필 이미지

작성한 질문수

질문하기