Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        //--------------------------------------------------------

        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);
        }