Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var menu = new List.Menu();
            var list = new OneLinkedList();

            menu.WorkWithMenu(list);
        }
Exemplo n.º 2
0
        public void WorkWithMenu(OneLinkedList list)
        {
            MainText();
            string key = Console.ReadLine();

            while (key != "0")
            {
                WorkWithKey(key, list);
                MainText();
                key = Console.ReadLine();
            }
            Console.WriteLine("До свидания!");
            list.Clear();
        }
Exemplo n.º 3
0
        public void WorkWithKey(string key, OneLinkedList list)
        {
            switch (key)
            {
            case "1":
            {
                Console.WriteLine("Введите позицию и значение для добавления элемента:");
                (int position, string value) = ReadPosAndValue();
                if (!list.Add(value, position))
                {
                    WriteError();
                }
                break;
            }

            case "2":
            {
                Console.WriteLine("Введите позицию для удаления элемента:");
                int position = ReadPos();
                if (!list.Remove(position))
                {
                    if (list.IsEmpty())
                    {
                        WriteEmpty();
                    }
                    else
                    {
                        WriteError();
                    }
                }
                break;
            }

            case "3":
            {
                if (list.IsEmpty())
                {
                    WriteEmpty();
                }
                else
                {
                    Console.WriteLine("В списке что-то есть:)");
                }
                break;
            }

            case "4":
            {
                Console.WriteLine($"В списке {list.Count()} элементов)");
                break;
            }

            case "5":
            {
                Console.WriteLine("Введите позицию:");
                int position = ReadPos();
                if (position < 0)
                {
                    WriteError();
                }
                else
                {
                    Console.WriteLine($"{position} элемент: {list.GetValue(position)}");
                }
                break;
            }

            case "6":
            {
                Console.WriteLine("Введите позицию и значение для изменения элемента:");
                (int position, string value) = ReadPosAndValue();
                if (!list.SetValue(value, position))
                {
                    WriteError();
                }
                break;
            }

            default:
            {
                Console.WriteLine("Что-то введено не так:)");
                break;
            }
            }
        }