Exemplo n.º 1
0
        private static int compress()
        {
            cmp_n cmp_num = new cmp_n();

            Array.Sort(a, 1, n, cmp_num);
            a[1].idx = 1;

            for (int i = 2; i <= n; i++)
            {
                if (a[i].num == a[i - 1].num)
                {
                    a[i].idx = a[i - 1].idx;
                }
                else
                {
                    a[i].idx = a[i - 1].idx + 1;
                }
            }

            int     len       = a[n].idx;
            cmp_ind cmp_index = new cmp_ind();

            Array.Sort(a, 1, n, cmp_index);

            return(len);
        }
Exemplo n.º 2
0
        private static int compress()
        {
            cmp_n cmp_num = new cmp_n();
            Array.Sort(a, cmp_num);
            a[0].idx = 1;

            for (int i = 1; i < n; i++)
            {
                a[i].idx = a[i - 1].idx;
                if (a[i - 1].num != a[i].num)
                    ++a[i].idx;
            }

            int len = a[n - 1].idx;
            cmp_ind cmp_index = new cmp_ind();
            Array.Sort(a, cmp_index);

            return len;
        }