순서

1. 주어진 리스트 중 최소값을 찾는다.
2. 최소값을 맨 앞에 있는 값과 교체한다.
3. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다.

소스


void selection(char *arr, int len)
{
    int i,j,temp,indexmin;

    printf("Before sorting : %s\n",arr);

    for(i=0; i<len; i++)
    {
        indexmin=i;
        for(j=i+1; j<len; j++)
        {
            if(arr[j]<arr[indexmin])
            {
                indexmin=j;
            }
        }
        temp=arr[indexmin];
        arr[indexmin]=arr[i];
        arr[i]=temp;
    }

    printf("After sorting : %s\n",arr);

}