(C++) 6.3 배열과 선택 정렬 selection sort

이준우·2021년 10월 17일
0

/ value index
3 5 2 1 4 1 3
1 5 2 3 4 2 2
1 2 5 3 4 3 3
1 2 3 5 4 4 4
1 2 3 4 5
/
이런식으로 출력하는 프로그램을 만들어라! 라는 예제가 나온다면 어떻게 풀이할 것인가?

한번 풀어보고 아래의 프로그램 코드를 보길 바란다.

#include <iostream>

using namespace std;

void printArray(const int array[], const int length)
{
	for (int index = 0; index < length; ++index)
		cout << array[index] << " ";
	cout << endl;

}

int main()
{
	/*			  value   index
	3 5 2 1 4		1       3
	1 5 2 3 4		2		2	
	1 2 5 3 4		3		3
	1 2 3 5 4		4		4	
	1 2 3 4 5		
	*/

	const int length = 5;

	int array[length] = { 3, 5, 2, 1, 4 };

	//printArray(array, length);

	int temp[length] = { 0 };
	int count = 0;

	printArray(array, length);

	for (int index = 0; index < length - 1; ++index)
	{
		for (int temp_index = index; temp_index < length; ++temp_index)
		{
			if (array[index] > array[temp_index])
			{
				temp[index] = array[index];
				array[index] = array[temp_index];
				array[temp_index] = temp[index];
			}
		}
		printArray(array, length);
		count += 1;
	}

	return 0;
}

초보자들에게는 어려울 수 있으나 한번쯤은 넘어야 할 산이니 꼭 풀어보길 바란다.

profile
꿈꾸는 CV

0개의 댓글