using System; using System.IO; using System.Collections; using System.Collections.Generic; public class Interval { public int a; // початок інтервалу public int b; // кінець інтервалу public Interval (int a, int b) { this.a=a; this.b=b; } } class Example { static int CompareIntrval(Interval x, Interval y) { if (Math.Abs(x.b-x.a)==Math.Abs(y.b-y.a)) return y.a-x.a; else return Math.Abs(x.b-x.a)-Math.Abs(y.b-y.a); } static void Main() { Interval[] i = new Interval[4]; // масив інтервалів i[0] = new Interval(1,9); i[1] = new Interval(2,8); i[2] = new Interval(3,6); i[3] = new Interval(3,9); Comparison c = new Comparison (CompareIntrval); Array.Sort(i, c); for (int j=0; j<4; j++) Console.Write("[{0}, {1}] ",i[j].a,i[j].b); } } // Результат: [3, 6] [3, 9] [2, 8] [1, 9]