Ejemplo n.º 1
0
        public void SelecctionSort(int[] value, int count)
        {
            int i, j = 0;
            int min, temp = 0;

            for (i = 0; i < count - 1; i++) //2개 2개씩 비교하기 위해서
            {
                min = i;                    //min에는 앞번째 순서의 자료가 들어가게 한다
                for (j = i + 1; j < count; j++)
                {
                    if (value[j] < value[min]) //value[min] 은 비교할 모 대상임. value[j]<- 순서대로 체크하면서 작으면 위치를 바꿔버린다.
                    {
                        min = j;               //배열의 위치를 값에 영향을 주지 않으면서 바꿈.
                    }
                }
                temp       = value[i];   //temp에 일단 무조건 첫번째의 값을 넣어준다.
                value[i]   = value[min]; //value[i]는 j보다 작은 값임. 그래서 작은 값을 넣어줌.
                value[min] = temp;       //작다고 비교되던 그 위치의 값과 교환.

                Console.WriteLine("Step - {0} ,", i + 1);
                Print_Array.PrintArray(value, count);
            }
        }