Exemple #1
0
        public int[] allEle(int j)
        {
            hole tmp = head;
            int  s   = size();

            int[] arr = new int[s];
            if (j == 0)
            {
                for (int i = 0; i < s; i++)
                {
                    arr[i] = tmp.get_start();
                    tmp    = tmp.get_next();
                }
            }
            else if (j == 1)
            {
                for (int i = 0; i < s; i++)
                {
                    arr[i] = tmp.get_end();
                    tmp    = tmp.get_next();
                }
            }
            else if (j == 2)
            {
                for (int i = 0; i < s; i++)
                {
                    arr[i] = tmp.get_size();
                    tmp    = tmp.get_next();
                }
            }


            return(arr);
        }
Exemple #2
0
        public hole last()
        {
            if (isEmpty())
            {
                return(null);
            }
            hole tmp = head;

            while (tmp.get_next() != null)
            {
                tmp = tmp.get_next();
            }
            return(tmp);
        }
Exemple #3
0
        public hole findBySize(int i)
        {
            hole tmp = head;

            while (tmp.get_size() != i)
            {
                tmp = tmp.get_next();
            }
            return(tmp);
        }
Exemple #4
0
        public hole findByEnd(int i)
        {
            hole tmp = head;

            while (tmp.get_end() != i)
            {
                tmp = tmp.get_next();
            }
            return(tmp);
        }
Exemple #5
0
        public hole findByHoleNum(int i)
        {
            if (isEmpty())
            {
                return(null);
            }
            hole tmp = head;

            while (tmp.get_holeNum() != i && tmp.get_next() != null)
            {
                tmp = tmp.get_next();
            }
            if (tmp.get_holeNum() == i)
            {
                return(tmp);
            }
            else
            {
                return(null);
            }
        }
        public void printHoles()
        {
            mMem.sort(0);
            hole holes = mMem.get_hHole();
            int  size  = mMem.size();

            for (int i = 0; i < size; i++)
            {
                int start = holes.get_start();
                int end   = holes.get_end();
                listBox1.Items.Add(mTxt1Hole + start + "    to    " + end);
                holes = holes.get_next();
            }
        }
Exemple #7
0
        public void remove(hole h)
        {
            hole tmp = head;

            if (size() == 1)
            {
                head = null;
                return;
            }
            else if (tmp == h)
            {
                head = tmp.get_next();
                return;
            }
            else
            {
                while (tmp.get_next() != h && tmp.get_next() != null)
                {
                    tmp = tmp.get_next();
                }
                hole tmp2 = tmp.get_next();
                tmp.set_next(tmp2.get_next());
            }
        }
Exemple #8
0
        public int holeSize()
        {
            if (isEmpty())
            {
                return(0);
            }
            hole tmp = head;
            int  i   = 0;

            while (tmp != null)
            {
                i   = i + tmp.get_size();
                tmp = tmp.get_next();
            }
            return(i);
        }
Exemple #9
0
        public int size()
        {
            if (isEmpty())
            {
                return(0);
            }
            int  i   = 1;
            hole tmp = head.get_next();

            while (tmp != null)
            {
                i++;
                tmp = tmp.get_next();
            }
            return(i);
        }
Exemple #10
0
        public void sort(int sel)
        {
            hole tmp = head;
            int  n = size();
            int  x, y;

            if (sel == 0)
            {
                for (x = 0; x < n; x++)
                {
                    hole tmp2 = tmp.get_next();
                    for (y = 0; y < n - x - 1; y++)
                    {
                        int c  = tmp.get_start();
                        int nn = tmp2.get_start();
                        if (c > nn)
                        {
                            swap(tmp, tmp2);
                        }

                        tmp2 = tmp2.get_next();
                    }
                    tmp = tmp.get_next();
                }
            }
            else if (sel == 1)
            {
                for (x = 0; x < n; x++)
                {
                    hole tmp2 = tmp.get_next();
                    for (y = 0; y < n - x - 1; y++)
                    {
                        int c  = tmp.get_end();
                        int nn = tmp2.get_end();
                        if (c > nn)
                        {
                            swap(tmp, tmp2);
                        }

                        tmp2 = tmp2.get_next();
                    }
                    tmp = tmp.get_next();
                }
            }
            else if (sel == 2)
            {
                for (x = 0; x < n; x++)
                {
                    hole tmp2 = tmp.get_next();
                    for (y = 0; y < n - x - 1; y++)
                    {
                        int c  = tmp.get_size();
                        int nn = tmp2.get_size();
                        if (c > nn)
                        {
                            swap(tmp, tmp2);
                        }

                        tmp2 = tmp2.get_next();
                    }
                    tmp = tmp.get_next();
                }
            }
        }