public int CompareTo(object obj) { GeometricFigure p = (GeometricFigure)obj; if (this.Area() < p.Area()) { return(-1); } else if (this.Area() == p.Area()) { return(0); } else { return(1); } }
static void Main(string[] args) { Rectangle rect = new Rectangle(5, 4); Square square = new Square(5); Circle circle = new Circle(5); Console.WriteLine("\nArrayList"); ArrayList al = new ArrayList(); al.Add(circle); al.Add(rect); al.Add(square); foreach (object x in al) { Console.WriteLine(x); } Console.WriteLine("\nArrayList - сортировка"); al.Sort(); foreach (object x in al) { Console.WriteLine(x); } Console.WriteLine("\nList<GeometricFigure>"); List <GeometricFigure> fl = new List <GeometricFigure>(); fl.Add(circle); fl.Add(rect); fl.Add(square); foreach (GeometricFigure x in fl) { Console.WriteLine(x); } Console.WriteLine("\nList<GeometricFigure> - сортировка"); fl.Sort(); foreach (GeometricFigure x in fl) { Console.WriteLine(x); } Console.WriteLine("\nМатрица"); Matrix <GeometricFigure> cube = new Matrix <GeometricFigure>(3, 3, 3, null); cube[0, 0, 0] = rect; cube[1, 1, 1] = square; cube[2, 2, 2] = circle; Console.WriteLine(cube.ToString()); Console.WriteLine("\nСписок"); SimpleList <GeometricFigure> list = new SimpleList <GeometricFigure>(); list.Add(square); list.Add(rect); list.Add(circle); foreach (var x in list) { Console.WriteLine(x); } list.Sort(); Console.WriteLine("\nСортировка списка"); foreach (var x in list) { Console.WriteLine(x); } Console.WriteLine("\nСтек"); SimpleStack <GeometricFigure> stack = new SimpleStack <GeometricFigure>(); stack.Push(rect); stack.Push(square); stack.Push(circle); while (stack.Count > 0) { GeometricFigure f = stack.Pop(); Console.WriteLine(f); } Console.ReadLine(); }