이번 포스팅에서는 배열의 요소들을 오름차순과 내림차순으로 정렬하고 사용하는 방법에 대해서 정리했습니다.
오름차순 정렬
배열을 정렬할 때 Array 클래스의 Sort() 메서드를 사용합니다. 이 메서드는 기본적으로 오름차순 정렬을 수행합니다. 다음은 한국어, 영어 알파벳을 오름차순으로 정렬하는 예제입니다.
using System;
using System.Data;
namespace MultiArray_exam
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("======한국어 알파벳====");
string[] alphabat_KO = { "가", "라", "마", "나", "다", "바" };
PrintArray("정렬 전", alphabat_KO);
Array.Sort(alphabat_KO);
PrintArray("정렬 후", alphabat_KO);
Console.WriteLine();
string[] alphabat_EN = { "A", "F", "E", "D", "B", "C" };
Console.WriteLine("======영어 알파벳====");
PrintArray("정렬 전", alphabat_EN);
Array.Sort(alphabat_EN);
PrintArray("정렬 후", alphabat_EN);
}
private static void PrintArray(string s, string[] strArray)
{
Console.WriteLine(s);
foreach(var str in strArray)
{
Console.Write($"{str}, ");
}
Console.WriteLine();
}
}
}
결과
======한국어 알파벳====
정렬 전
가, 라, 마, 나, 다, 바,
정렬 후
가, 나, 다, 라, 마, 바,
======영어 알파벳====
정렬 전
A, F, E, D, B, C,
정렬 후
A, B, C, D, E, F,
내림차순 정렬
Array 클래스에는 내림차순을 지원하는 별도의 메서드가 없습니다 (LINQ를 사용하면 바로 지원되는 메서드가 있지만 여기서는 다루지 않겠습니다). 하지만 순서를 뒤집어 주는 Reverse() 메서드를 이용하면 내림차순을 구현할 수 있습니다.
Sort() 메서드를 이용하여 오름차순으로 정렬한 뒤에 Reverse() 메서드를 사용하여 순서를 뒤집어주면 내림차순 정렬이 됩니다. 아래는 이 방법을 사용하여 내림차순을 구현하는 예제입니다.
using System;
using System.Data;
namespace MultiArray_exam
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("======한국어 알파벳====");
string[] alphabat_KO = { "가", "라", "마", "나", "다", "바" };
Array.Sort(alphabat_KO);
Array.Reverse(alphabat_KO);
PrintArray("내림차순 정렬", alphabat_KO);
Console.WriteLine();
string[] alphabat_EN = { "A", "F", "E", "D", "B", "C" };
Console.WriteLine("======영어 알파벳====");
Array.Sort(alphabat_EN);
Array.Reverse(alphabat_EN);
PrintArray("내림차순 정렬", alphabat_EN);
}
private static void PrintArray(string s, string[] strArray)
{
Console.WriteLine(s);
foreach(var str in strArray)
{
Console.Write($"{str}, ");
}
Console.WriteLine();
}
}
}
결과
======한국어 알파벳====
내림차순 정렬
바, 마, 라, 다, 나, 가,
======영어 알파벳====
내림차순 정렬
F, E, D, C, B, A,
[Review]
"초보자를 위한 C# 200제(2판)" / 저자 강병익
'Program Language > C#' 카테고리의 다른 글
Part2. C# 기초 다지기(6. 배열의 최대 / 최소 값 구하기) (22) | 2023.02.15 |
---|---|
Part2. C# 기초 다지기(5. Random 클래스) (11) | 2023.02.14 |
Part2. C# 기초 다지기(3. 다차원 배열) (28) | 2023.02.08 |
Part2. C# 기초 다지기(2. Array 클래스) (20) | 2023.02.06 |
Part2. C# 기초 다지기(1. 배열) (16) | 2023.02.03 |
댓글