public void Array1() { List <Data> alist = new List <Data>(); DataInt a = new DataInt(57); DataIntArray b = new DataIntArray(1, 2); DataIntArrayArray c = new DataIntArrayArray(1, 2, 3); alist.Add(a); alist.Add(b); alist.Add(c); Console.WriteLine(alist[2].getItem(1, 2)); }
//-------------------------------------------------------- public static DataIntArray RadixSort(DataIntArray data) { DataIntArray[] buckets = new DataIntArray[10]; if (data.GetType() == typeof(MyIntArray)) { for (int i = 0; i < buckets.Length; i++) { buckets[i] = new MyIntArray(data.Length); } } else { for (int i = 0; i < buckets.Length; i++) { buckets[i] = new MyIntFileArray(data.Length); } } for (int i = 0; i < data.LongestDigit; i++) { for (int j = 0; j < data.Length; j++) { int digit = (int)((data[j] % Math.Pow(10, i + 1)) / Math.Pow(10, i)); buckets[digit].Add(data[j]); } int index = 0; for (int k = 0; k < 10; k++) { DataIntArray bucket = buckets[k]; for (int l = 0; l < bucket.Length; l++) { data[index++] = bucket[l]; } buckets[k].Clear(); } } return(data); }