[C#] 15일차 - 105. 배열을 내림차순으로 정렬하는 방법C#/C#200제2021. 2. 13. 19:21
Table of Contents
1. 오름차순으로 정렬 후 내용을 뒤집으면 된다.
int[] arr = {12, 32, 43, 24, 8};
Array.Sort(arr); // 오름차순으로 정렬
Array.Reverse(arr); // 배열의 내용을 뒤집어줌
2. Sort() 메소드의 IComparer 인터페이스를 구현해준다.
using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace A105_IComparer
{
public class ReverseComparer : IComparer
{
public int Compare(object x, object y)
{
string s1 = (string)x;
string s2 = (string)y;
return string.Compare(s2, s1);
}
}
class Program
{
static void Main(string[] args)
{
string[] animalsEn = { "dog", "cow", "rabbit", "goat", "sheep", "mouse", "horse", "deer" };
string[] animalsKo = { "개", "소", "토끼", "염소", "양", "쥐", "말", "사슴" };
Display("초기 배열", animalsEn);
Array.Sort(animalsEn);
Array.Reverse(animalsEn);
Display("Sort후 reverse", animalsEn);
Display("초기 배열", animalsKo);
Array.Sort(animalsKo, 2, 3);
Display("[2]에서 3개 정렬 후", animalsKo);
IComparer revComparer = new ReverseComparer();
Array.Sort(animalsKo, revComparer); // revComparer를 사용해 내림차순 정렬함
Display("내림차순 정렬", animalsKo);
}
private static void Display(string comment, string[] arr)
{
Console.WriteLine(comment);
for(int i = arr.GetLowerBound(0); i <= arr.GetUpperBound(0); i++)
{
Console.Write(" {0}", arr[i]);
}
Console.WriteLine();
Console.WriteLine();
}
}
}
반응형
'C# > C#200제' 카테고리의 다른 글
[C#] 15일차 - 107. IComparable 인터페이스를 이용한 객체의 정렬 (0) | 2021.02.13 |
---|---|
[C#] 15일차 - 106. 두 개의 배열을 쌍으로 정렬 (0) | 2021.02.13 |
[C#] 15일차 - 104. List<T>와 배열의 정렬 (0) | 2021.02.13 |
[C#] 15일차 - 103. List<T> 컬렉션 (0) | 2021.02.13 |
[C#] 15일차 - 102. 컬렉션, ArrayList의 사용 (0) | 2021.02.13 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!