Main 함수만을 이용한 선택정렬 방법을 첫번째 Step을잡고 코드를 작성하였다.
해당 환경의 선택정렬은 1차원 배열의 11개의 값이 다른 정렬되지 않은 숫자를 한번 탐색을 한후 최소값을 배열의 맨처음 번지로 이동시킨다
그다음 맨처음값을 제외한 10개의 값에서의 최소값을 탐색후 10개의 맨처음 번지수로 이동시킨다
이러한 행동을 배열의 갯수만큼 반복시키는 방법이다.
해당 코드는 다음과 같다
#include <stdio.h>
// Main
int main(void)
{
// 변수 정의
int iArr[11] = { 2, 4, 6, 8, 22 , 3 , 7, 12, 1, 15, 16};
int i = 0;
int j = 0;
int iMin = 0;
int iTemp = 0;
int n = 11;
// i가 0일때 i가 n-1보다 작으면 i값에 1을 더해라 >>>> iMin = i이다
for (i = 0; i < n-1; i++)
{
iMin = i;
// j가 i +1 일때 j(i+1)이 n보다 작으면 j값에 1을 더해라
for (j = i + 1; j < n; j++)
{
// 만약 iArr[j]가 iArr[i]보다 작다면 iMin은 j로 바꿔라
if (iArr[j] < iArr[iMin])
{
iMin = j;
}
// iArr[iMin]값을 iTemp값에 저장하라 그리고 iArr[i]값을 iArr[iMIn]값에 저장하라 그리고 iTemp값을 iArr[i]값에 저장하라
iTemp = iArr[iMin];
iArr[iMin] = iArr[i];
iArr[i] = iTemp;
}
}
for (i = 0; i < 11; i++)
{
printf("%d t", iArr[i]);
}
printf("n");
return 0;
}