2016년 10월 12일 수요일

[C#강좌,닷넷강좌,실무중심교육◆탑크리에듀][C#배열의 최대값 및 버블정렬을 이용하여 정렬예제]

[C#배열의 최대값 및 버블정렬을 이용하여 정렬예제]

버블정렬(Bubble sort)은 두 인접한 원소를 검사하여 정렬하는 방법이다. 시간 복잡도가 O(n^2)로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용된다.




using System;
using System.Linq;
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("배열요소를 콤마를 기준으로 입력하세요. 예) 1,10,7,6,5");
            string str = Console.ReadLine();
            string[] sArray = str.Split(',');

            Console.WriteLine("<<<<< 입력받은 배열 출력...>>>>>");
            foreach (string s in sArray)
            {
                Console.Write(s + " ");
            }
            Console.WriteLine();
            Console.WriteLine();

            Console.WriteLine("<<<<< 최대값은...>>>>>");
            int[] iArray = Array.ConvertAll(sArray, s => int.Parse(s));
            int max = iArray.Max();
            Console.WriteLine("MAX VALUE : " + max);
            Console.WriteLine();

            //버블정렬
            for (int i = 1; i < iArray.Length; i++)
            {
                for (int j = 0; j < i; j++)
                {
                    if (iArray[j] > iArray[i])
                    {
                        int tmp = iArray[i];
                        iArray[i] = iArray[j];
                        iArray[j] = tmp;
                    }
                }
            }
            Console.WriteLine("<<<<< 버블정렬 후 배열 출력...>>>>>");
            foreach (int  i in iArray)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
        }
    }
}


[결과]
배열요소를 콤마를 기준으로 입력하세요. 예) 1,10,7,6,5
1,10,7,6,5
<<<<< 입력받은 배열 출력...>>>>>
1 10 7 6 5

<<<<< 최대값은...>>>>>
MAX VALUE : 10

<<<<< 버블정렬 후 배열 출력...>>>>>
1 5 6 7 10

댓글 없음:

댓글 쓰기