コード例 #1
0
        private void insert(T value)
        {
            // Для пустого массива
            if (size == 0)
            {
                arrStart       = new cell <T>();
                arrStart.value = value;

                size++;
                return;
            }

            cell <T> p;

            p = arrStart;

            while (p != null)
            {
                // Уже есть
                if (value.CompareTo(p.value) == 0)
                {
                    break;
                }
                // Вставить в начало
                if (value.CompareTo(p.value) < 0 && p == arrStart)
                {
                    arrStart       = new cell <T>();
                    arrStart.value = value;
                    arrStart.next  = p;

                    size++;
                    break;
                }
                // Вставить в конце
                if (value.CompareTo(p.value) > 0 && p.next == null)
                {
                    p.next       = new cell <T>;
                    p.next.value = value;

                    size++;
                    break;
                }
                // Вставить в середине
                if (value.CompareTo(p.value) < 0)
                {
                    cell <T> temp = p;
                    p       = new cell <T>();
                    p.value = value;
                    p.next  = temp;

                    size++;
                    break;
                }

                p = p.next;
            }
        }
コード例 #2
0
        // Incomplete
        public void print()
        {
            if (size == 0)
            {
                return;
            }
            cell <T> p = arrStart;

            while (p != null)
            {
                Console.WriteLine("");
                p = p.next;
            }
            Console.WriteLine();
        }
コード例 #3
0
 public Set()
 {
     size     = 0;
     arrStart = null;
 }
コード例 #4
0
 private void clear()
 {
     this.size = 0;
     arrStart  = null;
 }