Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Array 클래스 메서드를 활용해 1차원 배열을 내림차순으로 정렬하는 방법

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}처럼 큰 값부터 작은 값 순으로 정렬된 것을 확인할 수 있습니다.