ROBOTION

[태그:] 최댓값 알고리즘)

  • c# ArrayList Sort() 함수 객체(object) 이용한 정렬 (최솟값, 최댓값 알고리즘)

    이 부분 해결이 온라인상으로만 해결이 되지 않아 직접 테스트해보고 올립니다. 구글검색을 통해 이것저것 다 찾아보았지만 LinQ로 구현된 코드밖에없더군요   우연찮게 찾아낸 사이트에서 LinQ방식이 아닌 닷넷프레임워크 2.0에서도 구현가능한 IComparable 인터페이스를 이용해서 Object를 정렬할 수 있는 소스코드가 있더군요. ArrayList.Sort() 자체 메소드를 이용해서 Object를 원하는 ASC, DESC 정렬이 가능합니다.   대학교 다닐때 최소값 구하기, 최대값 구하기 많이 해보셨죠? 그와 비슷한 알고리즘인데 C#에서 실제로 구현하는 코드입니다. 아래는 실제 코드이며 복사하기 쉽도록 이미지 하단부에 소스원본을 넣었습니다.     ​using System; using System.Collections.Generic;using System.Text; namespace 블로그순위{    class Entity_blogrank : IComparable     {        public int rank { set; get; }        public string subject { set; get; }         public Entity_blogrank(int rank, string subject)        {            this.rank = rank;            this.subject = subject;         }         // ASC < > -1 1        // DESC < > 1 -1        public int Compare(object one, object two)        {            Entity_blogrank blogrank_own = (Entity_blogrank)one;            Entity_blogrank blogrank_two = (Entity_blogrank)two;             Console.WriteLine(string.Format("{0} > {1}", blogrank_own.rank, blogrank_two.rank));             if (blogrank_own.rank < blogrank_two.rank)            {                return -1;            }            else if (blogrank_own.rank > blogrank_two.rank)            {                return 1;            }            else            {                return 0;                        }        }         public int CompareTo(object one)        {            return Compare(this, one);        }    }} ​ 위의 소스는 블로그 순위 티온 Entity 전체 소스입니다. 필요하신 분이 계실것 같아 C#하는 분들을 위해 전체소스 공개를 합니다. ​이 소스코드로 인해서 블로그 순위를 1등부터 1,000등까지 줄 세울수 있습니다. 앞으로 더 멋진 프로그램들이 나올꺼 같다는 기대감이 생기는가요?^^ ​ 전 저 소스코드 하나 만들기 위해서 밤을새고 있답니다. ​이웃님들은 이제 몇등인지 열심히 찾아보면됩니다^^ ​ 몇등이세요? 1등요? ​ ​ ​ ​감사합니다.​ ​        

    원문: 네이버 블로그에서 보기