Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2020, 20:25   #1
plktre
Пользователь
 
Регистрация: 09.09.2019
Сообщений: 43
По умолчанию Обращение по индексу(свойство чтения и записи)

Код:
class List
    {
        class Node
        {
           
            public Node(int data,Node next)
            {
                Data = data;
                Next = next;
            }
            public int Data { get; set; } //свойство хранения данных
            public Node Next { get; set; } //ссылка на следующий узел
        }

        private Node head = null; //первый элемент(головной)
        private Node tail; //последний элемент(хвостовой)
        private int count = 0;
        public void Add(int a)
        {
            Node node = new Node(a,null);
            if (head == null) //Если у нас не установлена переменная head, то устанавливаем head и tail.
            {
                head = node;
                tail = node;
            }
            else            //Если есть как минимум один элемент, то устанавливаем свойство tail.Next - теперь оно хранит ссылку на новый узел.
            {           //И переустанавливаем tail - теперь она ссылается на новый узел.
                tail.Next = node;
                tail = node;
            }
             count++;                                   
        }

        Node AddrByPos(int pos)
        {
            if (pos >= count)
                return null;
            int index = 0;
            Node node = head;
            while (node != null && index != pos)
            {
                node = node.Next;
                ++index;
            }
            return node;

        }
        public int this[int pos]
        {
            get
            {
                if (pos < count)
                {
                    if (pos == 0)
                        return head.Data;
                    AddrByPos(pos);
                }
                return 0;
            }
            set
            {
                if (pos < count)
                {
                     = value;
                }
                else
                {
                    return;
                }
            }
        }
        public void Print()
        {
            if (head == null)
                return;

            var node = head;

            while (node != null)
            {
                Console.WriteLine(node.Data);
                node = node.Next;
            }
            Console.WriteLine();
        }

    }
public int this[int pos] в этом методе совсем не понимаю, что нужно написать

Последний раз редактировалось plktre; 22.02.2020 в 20:30.
plktre вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компонент/библиотека/метод чтения XLS файлов в C# Serge_Bliznykov Общие вопросы .NET 2 06.02.2015 22:50
Попытка чтения или записи в защищенную память. zzz6 Общие вопросы C/C++ 2 23.03.2012 20:26
Как открыть для чтения и записи файл без расширения DeDoK Общие вопросы Delphi 4 11.11.2009 22:41
Обращение к массиву по индексу Morgusha Помощь студентам 2 28.10.2009 15:03
С++. Кеширование чтения\записи файла Vinny Помощь студентам 1 03.06.2009 00:43