using System; class SimpleArrayList { private E[] elements; private int size; public SimpleArrayList(int initialCapacity) { if (initialCapacity <= 0) throw new ApplicationException("Capacity iniziale <= 0"); this.elements = new E[initialCapacity]; size = 0; } void Rialloca() { E[] nuovo = new E[elements.Length*2]; for(int i = 0; i < elements.Length; i++) { nuovo[i] = elements[i]; } elements = nuovo; } public int Size() { return size; } public void Add(E x) { if(size == elements.Length) Rialloca(); elements[size] = x; size++; } public void Println() { Console.WriteLine("l'array e': "); foreach(E x in elements) // si legge: per ciascun intero x in a fai ... Console.Write(x + " "); Console.WriteLine(); } } class Prova { public static void Main() { SimpleArrayList a = new SimpleArrayList(3); a.Add("Pluto"); a.Add("Pippo"); a.Add("Qui"); a.Add("Quo"); a.Add("Qua"); a.Println(); } }