게임 개발/Unity3D
[Unity | 유니티] 커스텀 정렬 알고리즘 만들기
불타는홍당무
2018. 11. 21. 12:11
특정한 조건을 충족하는 정렬 알고리즘이 필요할 경우 커스텀 정렬 알고리즘을 만드는 방법을 소개한다.
기존
list.sort((a,b) => a.CompareTo(b)); //오름차순 정렬
list.sort((a,b) => b.CompareTo(a)); //내림차순 정렬
커스텀
List<item> list = new List<item>() {a, b, c, d};
list.sort(new SortComparer());
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class SortComparer : IComparer<item> { public int Compare(item x, item y) { //정렬 조건을 설정한다. //item의 weight를 내림차순으로 정렬한다고 가정해보자. //x 순서가 y보다 앞이면 -1 if(x.weight > y.weight) return -1; //x,y 순서가 같으면 0 if(x.weight == y.weight) return 0; //x 순서가 y보다 뒤이면 1 if(x.weight < y.weight) return 1; } } | cs |