[C#배열의 최대값 및 버블정렬을 이용하여 정렬예제]
꽁스짱
C#
0
1366
2021.02.15 23:20
[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