C#에서 배열을 내림차순으로 정렬하기
Array 클래스의 Sort() 메서드와 Reverse() 메서드를 함께 사용하면 별도의 복잡한 로직 없이 1차원 배열을 간단하게 내림차순으로 정렬할 수 있습니다.
먼저 아래와 같이 정렬되지 않은 배열이 있다고 가정해 보겠습니다.
int[] list = {98, 23, 97, 36, 77};내림차순 정렬은 두 단계로 진행됩니다.
1단계: Sort() 메서드로 오름차순 정렬
Sort() 메서드를 호출하면 배열의 요소들이 오름차순(작은 값 → 큰 값)으로 정렬됩니다.
Array.Sort(list);2단계: Reverse() 메서드로 요소 순서 뒤집기
이어서 Reverse() 메서드를 호출하면 오름차순으로 정렬된 배열의 순서가 뒤집히며, 최종적으로 내림차순으로 정렬된 배열을 얻게 됩니다.
Array.Reverse(list);전체 예제 코드
아래 전체 코드를 직접 실행해 보면 1차원 배열이 내림차순으로 정렬되는 과정을 확인할 수 있습니다.
using System;
namespace Demo {
public class MyApplication {
public static void Main(string[] args) {
int[] list = {98, 23, 97, 36, 77};
Console.WriteLine("Original Unsorted List");
foreach (int i in list) {
Console.Write(i + " ");
}
// 오름차순 정렬
Array.Sort(list);
// 내림차순 변환
Array.Reverse(list);
Console.WriteLine("\nSorted List");
for(int i=0; i<list.Length; i++) {
Console.Write(list[i] + " ");
}
}
}
}실행 결과
Original Unsorted List
98 23 97 36 77
Sorted List
98 97 77 36 23출력 결과를 보면 처음에는 {98, 23, 97, 36, 77} 순서였던 배열이 Sort()와 Reverse()를 차례로 거친 후 {98, 97, 77, 36, 23}처럼 큰 값부터 작은 값 순으로 정렬된 것을 확인할 수 있습니다.